Laravel雄辩地使用渴望加载从第三张桌子中选择colms

时间:2017-10-22 10:01:16

标签: php laravel eloquent

我有三个模型User ReviewProduct。产品与hasMany模型具有User关系。 User模型与hasOne模型具有Review关系。

ProductReview模型之间没有关系。我正在尝试与用户一起选择产品,并希望从评论模型中选择该用户的评级。这是我的代码,我正在尝试做什么..

 $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);

谢谢。

2 个答案:

答案 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();