使用場景: 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 協議》,轉載必須註明作者和本文連結