记 DB::raw () 查询 及 collection 的 pluck () 方法
使用场景: laravel-admin 中 select 表单组件的值 (options) 来自数据库
-
mysql 数据库要查询
concat
两个字段$list = Nav::select('id', 'concat(id,name) as text')->all(); // 失败 $list = Nav::select(DB::raw('id', 'concat(id,name) as text'))->all(); // 成功
-
根据拿到的
$list
, 把id
当作键,text
当作值形成新数组// 要求形如 [ '1' => '1namea', '2' => '2nameb', ... ] // 使用 foreach 固然能解决 $arr = []; foreach($list as $value) { $arr[$value->id] = $value->text; } // 但是 larave-collection 提供了更优雅的做法 $arr = $list->plucked('text', 'id')->all();
本作品采用《CC 协议》,转载必须注明作者和本文链接