Laravel 5.7 将数据直接从数据库填充到 select 输入
Laravel 5.7 fill data direct from database to select input
我想在 master table 中获取格式为 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
有人可以帮忙吗?
你可以用这个
$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();
结果必须是数组
$color_list = Master::whereRaw("type = 'color'")->pluck('name', 'id');
pluck 方法检索给定键的所有值
Doc Laravel
我想在 master table 中获取格式为 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
有人可以帮忙吗?
你可以用这个
$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();
结果必须是数组
$color_list = Master::whereRaw("type = 'color'")->pluck('name', 'id');
pluck 方法检索给定键的所有值 Doc Laravel