我是 Laravel 的新手。我試圖從這個查詢中獲取objectives.id,但它給了我media.id,所以嘗試在查詢中做一個“AS”,這樣我就可以把它傳遞給視圖:
$objectives = DB::table('objectives')
->join('users', 'objectives.assigned_id', '=', 'users.id')
->join('media', 'objectives.training_document_id', '=', 'media.model_id')
->where('objectives.assigned_id', '=', $assigned_id)
->where('media.model_type', '=', 'App\Models\TrainingDoc')
->distinct('objectives.id')
->get();
uj5u.com熱心網友回復:
您必須objectives.id使用將回傳不同的objectives.ids集的查詢來選擇不同的。
$objectives = DB::table('objectives')
->select('objectives.id')->distinct()
->join('users', 'objectives.assigned_id', '=', 'users.id')
->join('media', 'objectives.training_document_id', '=', 'media.model_id')
->where('objectives.assigned_id', '=', $assigned_id)
->where('media.model_type', '=', 'App\Models\TrainingDoc')
->get();
如果您想獲得一條記錄,objectives.id您可以使用groupBy回傳整行的選項。
$objectives = DB::table('objectives')
->join('users', 'objectives.assigned_id', '=', 'users.id')
->join('media', 'objectives.training_document_id', '=', 'media.model_id')
->where('objectives.assigned_id', '=', $assigned_id)
->where('media.model_type', '=', 'App\Models\TrainingDoc')
->groupBy('objectives.id')
->get();
uj5u.com熱心網友回復:
foreach($objectives as $key=>$objective) dump($objective->id); 結束
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/346082.html
下一篇:計算多列PHP中的多個值
