我有一个关于 Laravel 查询的问题,所以我有一个上传模型和数据库表来存储我的所有图像。然后有一个事件模型和存储我所有事件的数据库表。对于每项事件,我都需要一张图像。
所以我的 Activity 模型有一个“uploads_id”列。我这样写了查询:
$activity_images = DB::table('uploads')
->join('activities', 'uploads.id', '=', 'activities.upload_id')
->where('uploads.id', '=', 'activities.upload_id')
->get();
找不到正确的图像我做错了什么?
最佳答案
您在 join
和 where
子句中“加入”两次。您可以在join
中连接一次uploads.id 和activities.upload_id,然后在where
子句中再次连接一次。
如果您想查询特殊的 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();
如果您使用join
,则将使用inner join
。
如果您希望上传表格中的所有条目,也可以使用 leftJoin
。
$activity_images = DB::table('uploads')
->leftJoin('activities', 'uploads.id', '=', 'activities.upload_id')
->get();
它能解决您的问题吗?
关于mysql - 需要 Laravel 查询帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40786537/