laravel - production.ERROR:未定义变量:id Laravel 刀片
问题描述
在我的 Laravel-5.8 中,控制器中有以下代码:
public function appraisal(Request $request)
{
try {
$userCompany = Auth::user()->company_id;
$userId = Auth::user()->id;
$company = OrgCompany::where('id', $userCompany)->first();
$identities = Identity::where('company_id', $userCompany)->pluck('appraisal_name','id');
$goals = AppraisalGoal::where('employee_id', $userId)
->where(function ($query) {
$query->where('is_approved', 3)->orWhere('is_visible', 0);
})
->whereNull('deleted_at')
->orderBy('goal_type_id');
$method = $request->method();
if ($request->isMethod('post')) {
$id = $request->input('identity_id');
if ($request->has('search')) {
// select search
if ($request->input('identity_id')) {
$goals->where('identity_id',$request->input('identity_id'));
}
$goals = $goals->get();
return view('appraisal-default',['goals' => $goals, 'identities' => $identities]);
} elseif ($request->has('viewIdentity')) {
// select goal identity
if ($request->input('identity_id')) {
return view('performance_dashboard', $id);
}
}
} else {
//select current year
$goals = $goals->get();
return view('appraisal-default',['goals' => $goals, 'identities' => $identities]);
}
} catch (Exception $exception) {
Log::error($exception);
Session::flash('error', 'Action failed! Please try again');
return back();
}
}
查看刀片:评估-默认
<div class="row" style="margin-bottom: 10px">
<label class="control-label"> Performance Period:<span style="color:red;">*</span></label>
<div class="col-sm-8">
<select id="identity" name="identity_id" class="form-control">
<option value="">--- Select Performance Period ---</option>
@foreach ($identities as $ids => $name)
<option value="{{ $ids }}" {{ request( 'identity_id')==$ids ? 'selected' : ''}}>{{ $name }}</option>
@endforeach
</select>
</div>
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-sm" name="search">Search</button>
<form action="{{ route('performance_dashboard', $id->id) }}" method="get" target="_blank" class="form-horizontal" enctype="multipart/form-data">
{{csrf_field()}}
<button type="submit" class="btn btn-secondary btn-sm" name="viewIdentity"><i class="fas fa-file-pdf"></i> View Identity</button>
</form>
</div>
</div>
在视图中,我有两个带有名称的按钮:search 和 viewIdentity
当。。。的时候
<select id="identity" name="identity_id" class="form-control">
被选中。
如果提交了搜索按钮,它将在同一页面上显示结果。这是有效的。
但是,我遇到问题的地方是提交 viewIdentity 按钮。此时它假设将下拉列表的 id 作为参数:
<form action="{{ route('performance_dashboard', $id->id) }}" method="get" target="_blank" class="form-horizontal" enctype="multipart/form-data">
{{csrf_field()}}
<button type="submit" class="btn btn-secondary btn-sm" name="viewIdentity"><i class="fas fa-file-pdf"></i> View Identity</button>
</form>
并在另一个页面中显示结果:performance_dashboard
我在视图中收到此错误:
production.ERROR:未定义的变量:id
它指向视图中的这一行:
<form action="{{ route('performance_dashboard', $id->id) }}" method="get" target="_blank" class="form-horizontal" enctype="multipart/form-data">
我该如何解决?
谢谢
解决方案
推荐阅读
- angular - Observable 自定义原型函数,是“不是函数”
- php - 我的 PHP 代码可以工作,但“printf 或 echo”语句不工作!如何解决?
- java - 测试类中的 SpringBootTest 注解
- random - 在 OCAML 中的函数中获取随机数或告诉编译器每次都评估函数
- xcode - 如何为在 Xcode 中构建和调试的 macOS 应用程序启用全盘访问
- java - 用java覆盖命令提示符中的多行
- c++ - 如何在c ++中修复错误“范围内的向量迭代器来自不同的容器”?
- csv - 如何绘制具有 7 列和 20001 行的 csv 文件中的数据?
- ms-access - 有没有办法将现有字段添加到 Access 中的拆分表单中,仅添加到底部的数据视图部分
- sqlite - sqlite在多条记录中移动rowid