繁体   English   中英

Laravel刀片嵌套属于关系访问

[英]Laravel Blade Nested BelongsTo Relationship access

我雄辩的Laravel中有一个嵌套的BelongsTo关系,当我尝试成功访问它的一个级别时,但是当我尝试访问它的两个级别时,则是如此。 其获取错误“试图获取非对象的属性”

这是我的结构模型

OrderProduct.php

public function product()
{
    return $this->belongsTo('App\Models\Product');
}

Product.php

public function domain()
{
    return $this->belongsTo('App\Models\Domain');
}

我想做的是雄辩地从order_product获取域信息,而我在刀片服务器上做到了,但是却收到错误消息“试图获取非对象的属性”

$order_product = OrderProduct::first();
$domain_name = $order_product->product->domain->name;

但是当我精通产品并尝试访问域名时,它就成功了

$product = Product::first();
$domain_name = $product->domain->name;

我应该怎么做才能通过product-> domain关系从order_product访问域关系?

谢谢

当您从没有域的产品中获取域时,就会发生此问题。 您可以使用laravel可选功能:

$orderProduct = OrderProduct::with('product.domain')->first();
$domain_name = optional($orderProduct->product->domain)->name;

注意:我也使用紧急负载来减少查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM