mysql - Laravel 多模型查询
问题描述
嘿,我现在已经看了很多文章,但我认为我的知识阻碍了我调整任何示例,所以我在这里,希望你能提供帮助:
我想要什么:有一个雄辩的查询,在 2 个表中查找
我有的:
$myProfile = \App\User::with('friends')->where('friend_type','2')->get();
是我希望的结果。在我的用户模型中,我有以下内容:
public function friends()
{
return $this->hasMany(Friend::class);
}
在我的朋友模型中:
public function user()
{
return $this->belongsTo(User::class);
}
我也尝试过:
$myProfile = \App\User::with(['friends'])->where('friend_type','2')->get();
或者
$myProfile = \App\User::with('friends')->where('friends.friend_type',2)->get();
但我收到的错误仍然是一样的:
Column not found: 1054 Unknown column 'friends.friend_type' in 'where clause' (SQL: select * from `users` where `friends`.`friend_type` = 2 and `users`.`deleted_at` is null)
首先十分感谢
解决方案
我认为以下方法可以解决问题:
User::with(['friends' => function ($query) {
$query->where('friend_type', 2);
}])->get();
推荐阅读
- python - GSpread 列大小
- apache-kafka - 与传统方法相比,使用 kafka-connect 有什么好处?
- python - 如何在网页上获得推荐
- c - 在(空)框架中找不到“SLSIsSuppressedByScreenTime”
- c++ - 将代码移动到函数中时,在 DLL“myApp.exe”中找不到错误 0xC0000138 序号
- algorithm - 找到转换为回文的最低成本
- django - 如何序列化具有多个外键的模型?
- go - 尝试使用 close(ch) 结束 goroutine 但最终无限运行
- javascript - Javascript - 给第一个 X div 其他类
- regex - Unmatched ) 在 Regex grep 期间