我有一個這樣的查詢:
$pd= DB::table("projects")
->orderBy("project_number", "asc")
->select('name' , "type")
->get()->keyBy('date_scheduled');;
并且我得到了一個鍵控陣列,date_scheduled這很好,但問題date_scheduled不是唯一的,因此它會覆寫條目。所以我需要用keyby得到一個二維陣列,date_scheduled比如:
[
'date_1_of_date_scheduled' => [0 => '1', 1 => '4', 2 => '17']
'date_2_of_date_scheduled' => [0 => '15', 1 => '64', 2 => '1142']
'date_3_of_date_scheduled' => [0 => '25', 1 => '125', 2 => '66']
]
uj5u.com熱心網友回復:
您可以使用groupBy()代替keyBy():https ://laravel.com/docs/8.x/collections#method-groupby
$pd = DB::table("projects")
->orderBy("project_number", "asc")
->select('name' , "type")
->get()
->groupBy('date_scheduled');
uj5u.com熱心網友回復:
您可以為此目的使用 laravel map 功能
試試看:
$pd= DB::table("projects")
->orderBy("project_number", "asc")
->select('name' , "type")
->get()
->map(function ($item) {
return ['date_'.$item->date_scheduled.'_of_date_scheduled' => $item->YOUR_DESIRED_DATA] ;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/437548.html
