Laravel 关系不返回嵌套关系

问题描述 投票:0回答:1

我的 Laravel 应用程序中有一个 Order 模型,Order 模型可以有许多 Order 项目,

public function items()
{
    return $this->hasMany(OrderItem::class);
}

我的订单项目模型与我的刺绣模型相关,一个订单项目可以有 1 个刺绣模型,

public function embroidery()
{
    $this->hasOne(Embroidery::class);
}

Order Item 模型也与 Pattern 模型有关系,

public function pattern()
{
    $this->hasOne(Pattern::class);
}

我遇到的问题是,

Order::with('items')->first();

工作绝对正常,我可以看到订单相关的项目,但是如果我这样做

Order::with('items.embroidery')->first()

我收到以下错误,但我不知道为什么?

错误:在 null 上调用成员函数 addEagerConstraints()

php laravel eloquent relational-database
1个回答
0
投票

Laravel 期望每个关系方法返回一个关系实例。

失踪了

return
??

public function embroidery()
{
    return $this->hasOne(Embroidery::class);
}

public function pattern()
{
    return $this->hasOne(Pattern::class);
}
© www.soinside.com 2019 - 2024. All rights reserved.