gpt4 book ai didi

php - laravel Eloquent 多个左连接

转载 作者:行者123 更新时间:2023-11-28 23:30:46 26 4
gpt4 key购买 nike

我试图理解 left joining in eloquent,但我真的无法让它发挥作用。

我的常规 SQL 如下所示:

SELECT uploads.id, comments.file_id, comments.comment, users.id, comments.user, users.name
FROM uploads
LEFT JOIN comments
ON uploads.id=comments.file_id
LEFT JOIN users
ON users.id=comments.user;

有人可以帮我把它转换成有效的查询吗?也许提供一些信息是如何完成的?

谢谢! :D

最佳答案

Eloquent 不执行 SQL 连接,而是用大量查询模拟它。

这样做你会得到你想要的:

Uploads::with('commments','users')
->get(['id','comments.file_id',' comments.comment', 'users.id', 'comments.user', 'users.name']);

使用这个,你需要在你的模型中明确地拥有关系。检查文档。

另一种方法是使用查询生成器。您没有使用 Eloquent 来执行此操作,但当然可以:

DB::table('uploads')
->select('uploads.id','comments.file_id',' comments.comment', 'users.id', 'comments.user', 'users.name')
->leftJoin('comments','uploads.id','=','comments.file_id')
->leftJoin('users','users.id','=','comments.user')
->get();

关于php - laravel Eloquent 多个左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37400912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com