Laravel与一对多的关系

时间:2019-02-24 10:17:47

标签: php laravel eloquent relationship

我有这样的模型:

User
Order
Status

User有很多Orders,而Order有一个Status

现在我要写的是这样的东西:

$user = User::with("Orders" => function($query){ 
                            $query->with("Status"); 
                        })

我得到UserOrders的信息,但是Orders内部没有Status的关系,我做错了吗?

3 个答案:

答案 0 :(得分:2)

您必须像这样加载关系

$users = User::with('Orders')->with('Orders.Status')->get();

https://laravel.com/docs/5.7/eloquent-relationships#eager-loading

答案 1 :(得分:1)

确保在status模型中具有Order函数,然后急于像这样加载它:

$users = User::with('orders.status')->get();

答案 2 :(得分:0)

您必须像这样加载关系

$users = User::with('orders.status')->get();