1

我有3個模式:專賣店模式,產品型號,訂貨型號如何顯示數據透視表的值? Laravel 5.3

店模式是這樣的:

class Store extends Model 
{ 
    protected $fillable = ['name', 'user', 'address', 'phones', 'email', 'photo']; 
    ... 
} 

產品型號是這樣的:

class Product extends Model 
{ 
    protected $fillable = ['store_id','category_id','name', 'photo','description']; 
    ... 
} 

次模型像這樣:

class Order extends Model 
{ 
    ... 
    public function products() 
    { 
     return $this->belongsToMany(Product::class, 'orders_products') 
      ->withPivot('sub_total','quantity','price','information')->withTimestamps(); 
    } 
    public function store() 
    { 
     return $this->belongsTo(Store::class); 
    } 
} 

我有4個表:stores表,orders tabl E,產品表,orders_products表

orders_producs表的數據透視表

鑑於刀片laravel我稱之爲:

<a href="javascript:">{{ $order->store->name }}</a> 

它的工作原理。它的成功顯示店名

我的問題是,當我想要顯示的產品名稱

鑑於刀片laravel我嘗試:

<a href="javascript:">{{ $order->products->name }}</a> 

存在着錯誤:

未定義的屬性: Illuminate \ Database \ Eloquent \ Collection :: $ id (查看:...

這似乎是錯誤的呼叫方式

我該如何解決它?

回答

1

因爲它是belongsToMany(),你可以像這樣的顯示數據:

@foreach ($order->products as $product) 
    {{ $product->name }} 
    {{ $product->pivot->price }} 
@endforeach 
+0

感謝兄弟。你太棒了 –

相關問題