簡體   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