laravel - Laravel 6未定义变量:工作
问题描述
我认为没有错误,但 Laravel 显示以下错误:
未定义变量:工作
public function jobCreate(Request $request){
$data['jobs'] = DB::table('jobs')->get();
$job_category = JobCategory::all();
// $job_locations = JobLocation::all();
if(Auth::user()->user_type == 'admin'){
return view('backend.job_circuler.create',compact('job_category',$data));
}
elseif(Auth::user()->user_type == 'customer'){
return view('frontend.user.job_circuler.create', compact('job','job_category'));
}
else {
abort(404);
}
}
我正确导入了所有这些东西,但没有工作。
<div class="form-group row" id="location">
<label class="col-md-3 col-from-label">
{{translate('Location')}}
<span class="text-danger">*</span>
</label>
<div class="col-md-9">
<select class="form-control aiz-selectpicker" name="location_id" id="location_id" data-live-search="true" >
<option >select location</option>
@foreach($jobs as $job)
<option value="{{ $job->location_id }}">
{{ $job->joblocation->location }}
</option>
@endforeach
</select>
@error('location')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
</div>
解决方案
根据错误消息,您发布的视图是backend.job_circuler.create
. 我对吗?
错误说,变量$jobs
丢失并且是正确的:您$job_category
作为字符串传递,但$data
作为数组传递。您确实可以将数组传递给,compact()
但前提是它们包含变量名而不是实际变量。你为什么还要把$jobs
里面包起来$data
?
$jobs = DB::table('jobs')->get();
$job_category = JobCategory::all();
if(Auth::user()->user_type == 'admin'){
return view('backend.job_circuler.create', compact('job_category', 'jobs'));
}
当然,反之亦然:
$data['jobs'] = DB::table('jobs')->get();
$data['job_category'] = JobCategory::all();
if(Auth::user()->user_type == 'admin'){
return view('backend.job_circuler.create', $data);
}
或者,如果您出于某种原因不想更改 if 上方的代码,您仍然可以这样做:
$data['jobs'] = DB::table('jobs')->get();
$job_category = JobCategory::all();
if(Auth::user()->user_type == 'admin'){
return view('backend.job_circuler.create', [ ...$data, 'job_category' => $job_category ]);
}
或这个:
$data['jobs'] = DB::table('jobs')->get();
$job_category = JobCategory::all();
if(Auth::user()->user_type == 'admin'){
return view('backend.job_circuler.create', [ ...$data, ...compact('job_category') ]);
}
推荐阅读
- node.js - 如何实现 isTypeOf 方法?
- hdfs - distcp 导致 HDFS 偏斜
- scala - Scala / IntelliJ:提示输入数据库密码
- java - Jpa 合并抛出 StaleObjectStateException?
- c# - DbContext.Find() 和 DbContext.SingleOrDefault() 实体框架核心之间的区别
- laravel-5 - 如何转换 MySqli 循环代码 Laravel 控制器
- c# - 调用函数后隐式调用函数
- spring - 根据 ReloadableResourceBundleMessageSource 中的请求标头设置基本名称
- reactjs - REACT:如何告诉父组件来自子组件的无效数据?
- javascript - 理解涉及 `arguments` 的 `this` 行为