【发布时间】:2019-06-19 00:05:54
【问题描述】:
我有 3 张桌子 1) 产品 2) 评论 3) 用户
一个产品可以有多个 cmets,一个评论只属于一个用户。 这是我为所有 3 个模型定义的关系。
1) 产品模型
class product{
public function comments(){
return $this->hasMany(Comments::class,'product_id');
}
}
2) 评论模型
class comments{
public function product(){
return $this->belongsTo(Product::class);
}
public function user(){
return $this->hasOne(User::class,'id','user_id');
}
}
3) 用户模型
class User{
public function comment(){
return $this->belongsTo(Comments::class);
}
}
我想获取所有评论过产品的用户。 (我知道我可以使用 with() 并遍历产品和评论,但我不想遍历所有 cmets,我希望所有用户都得到一个没有评论数据的答案。)
简而言之,我想要所有评论过该产品的用户数据 产品(不循环所有评论)
【问题讨论】:
-
@Iftikharuddin 是的,它也不起作用
标签: laravel laravel-5 eloquent laravel-5.7