2016-11-24 225 views
0

我有一個關於Laravel查詢的問題,所以我有一個上傳模型和數據庫表,它存儲我的所有圖像。然後是一個活動模型和數據庫表,它存儲我所有的活動。對於每個活動我想要一個圖像。Laravel查詢需要幫助

所以我的活動模型有一個'uploads_id'列。我寫了這樣的查詢:

$activity_images = DB::table('uploads') 
->join('activities', 'uploads.id', '=', 'activities.upload_id') 
->where('uploads.id', '=', 'activities.upload_id') 
->get(); 

它找不到合適的圖片我做錯了什麼?

回答

0

您在joinwhere條款中「加入」兩次。您在joinwhere條款中再次連接uploads.id和activities.upload_id一次。

如果你要查詢一個特殊的upload.id,查詢應該是這樣的:

$activity_images = DB::table('uploads') 
->join('activities', 'uploads.id', '=', 'activities.upload_id') 
->where('uploads.id', '=', '<yourUploadID>') 
->get(); 

如果你想要的所有圖像,你可以刪除where聲明。

$activity_images = DB::table('uploads') 
->join('activities', 'uploads.id', '=', 'activities.upload_id') 
->get(); 

如果使用joininner join將被使用。 如果您希望從表中上載所有條目,則還可以使用leftJoin

$activity_images = DB::table('uploads') 
->leftJoin('activities', 'uploads.id', '=', 'activities.upload_id') 
->get(); 

它解決了您的問題嗎?

+0

第二個建議解決了我的問題謝謝。我已經通過URL傳遞了活動的$ id,但我爲upload_id添加了第二個。奇怪的網址現在,但它的作品。 –