我有三个模型User
Review
和Product
。产品与hasMany
模型具有User
关系。 User
模型与hasOne
模型具有Review
关系。
但Product
和Review
模型之间没有关系。我正在尝试与用户一起选择产品,并希望从评论模型中选择该用户的评级。这是我的代码,我正在尝试做什么..
$product=new Product;
$product->where('status', 1)
->with(array('user'=>function($query){
$res=$query->select('id', 'userName', 'profilePic','firstName', 'lastName');
/*$rating=Review::where('user_id',$res->id);*/ this doesn't work but may be I need something similar?
}))
->with('cocabeanconditioning')
->with('Image')
->orderBy('created_at', 'desc')
->paginate(9);
谢谢。
答案 0 :(得分:1)
使用dot notation,例如:
->with('user', 'user.review')
答案 1 :(得分:0)
您可以选择以下关系的特定列:
$products = Product::with(['user'=>function($q){
$q->select('users.id')->with(['review'=>function($q){
$q->select('reviews.rating');
}]);
}])->get();