Left Join - 在 Eloquent 中
Posted
技术标签:
【中文标题】Left Join - 在 Eloquent 中【英文标题】:Left Join - In Eloquent 【发布时间】:2020-06-28 05:48:12 【问题描述】:我想根据user_id连接user表和like表
所以我有这个模型
user.php
public function like()
return $this->belongsTo('App\Models\Like', 'users_id', 'id');
like.php
public function user()
return $this->belongsTo('App\Models\User', 'id', 'user_id');
还有我的查询
$mentor = $this->article->with("articlecategory")->with(["user.like"])->orderby("id", "DESC")->get();
我想返回“用户”内的“喜欢”表,但它不起作用。我想离开加入它。
我做错了什么?
【问题讨论】:
您想从likes
表中获取用户ID 的所有赞吗?
只有登录的user_id。我想知道用户是否已经喜欢这篇文章,这就是我想离开加入它的原因,但我不知道如何在雄辩中编辑**抱歉,是的,我想获得用户 ID 的所有赞
我更新了我的答案,我想获得该用户 ID 的所有赞
【参考方案1】:
好吧,您需要使用one-to-many
关系来获得指定用户的喜欢。为此,您需要在User
模型上使用hasMany()
方法,如下所示:
<?php
public function likes()
return $this->hasMany('App\Models\Like', 'user_id', 'id');
【讨论】:
我不知道为什么它仍然没有显示在用户的数组下。 哦,我现在看到了我的错误。我的“用户”错字了。谢谢!以上是关于Left Join - 在 Eloquent 中的主要内容,如果未能解决你的问题,请参考以下文章
MySQL/Eloquent force id by left join 即使为空
SQLAlchemy ORM:LEFT JOIN LATERAL()正确
LEFT JOIN ON AND 和LEFT JOIN ON WHERE区别