我想获取主表中格式为array($key => $value)
的直接数据:
in controller:
$result = array();
$color_list = Master::whereRaw("type = 'color'")->get();
// format data for select input
foreach ($color_list as $value) {
$result[$value->id] = $value->name;
}
return view('backend.product.create', compact('result')
在视图中:
{!! Form::select('color', $result) !!}
目的:请勿使用foreach为所选输入生成数据
我找到一个代码:
$color_list = Master::lists('id', 'name');
但在Laravel 5.7上不起作用
有人可以帮忙吗?
答案 0 :(得分:2)
您可以使用此
$color_list = Master::whereRaw("type = 'color'")->pluck('name', 'id');
结果必须为
Collection {#499
#items: array:10 [
117 => 'master1'
118 => 'master2'
119 => 'master3'
.........
]
}
或用于获取数组
$color_list = Master::whereRaw("type = 'color'")->pluck('name', 'id')->all();
结果必须为数组
答案 1 :(得分:1)
$color_list = Master::whereRaw("type = 'color'")->pluck('name', 'id');
pluck方法检索给定键的所有值 Doc Laravel