我希望从数据库中的表中获取唯一值,并将公司名称作为选项传递给表单中的下拉列表。
控制器中的函数如下:
public function index()
{
$id = Auth::user()->id;
$admin = Admin::find($id);
$companies = DB::table('vacancies')->distinct()->select('company')->get()->toArray();
return view('admin')->with('admin',$admin)->with('companies',$companies);
}
我的看法如下:
<div class="form-group">
@foreach ($companies as $company)
{{ Form::label('Select Company')}}
{{ Form::select('companies', $company->company, ['class'=>'form-control', 'placeholder'=>'Please select ...']) }}
@endforeach
</div>
我遇到以下错误:
Invalid argument supplied for foreach()
如果我尝试{{dd($ companies}),我可以看到一个数组正在传递给视图OK。该数组如下所示:
array:353[
0 => {#274 ▼
+"company": "Example company name"
}......
]
放弃循环并返回到:
<div class="form-group">
{{ Form::label('Select Company')}}
{{ Form::select('companies', $companies, ['class'=>'form-control', 'placeholder'=>'Please select ...']) }}
</div>
会引发另一个错误,指出:
htmlspecialchars() expects parameter 1 to be string, object given
我在哪里错了?
答案 0 :(得分:1)
按照下面的内容
您的索引函数必须如下所示
public function index()
{
$id = Auth::user()->id;
$admin = Admin::find($id);
$companies = DB::table('vacancies')->distinct()->pluck('company')->toArray();
return view('admin')->with('admin',$admin)->with('companies',$companies);
}
您的观点一定要像下面
<div class="form-group">
{{ Form::label('Select Company')}}
{{ Form::select('companies', $companies, ['class'=>'form-control', 'placeholder'=>'Please select ...']) }}
</div>
让我知道是否有
答案 1 :(得分:1)
在您的控制器中
tagValue