如何显示 pivot table 的值? Laravel 5.3
How can I display value of pivot table ? Laravel 5.3
我有 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 个 table:商店 table、订单 table、产品 table、orders_products table
orders_producs table 是枢轴 table
在视图中 blade laravel 我称之为:
<a href="javascript:">{{ $order->store->name }}</a>
有效。成功显示店名
我的问题是当我想显示产品名称时
鉴于bladelaravel我试试:
<a href="javascript:">{{ $order->products->name }}</a>
存在错误:
Undefined property: Illuminate\Database\Eloquent\Collection::$id
(View:...
调用方式好像不对
我该如何解决?
因为是belongsToMany()
,你可以这样显示数据:
@foreach ($order->products as $product)
{{ $product->name }}
{{ $product->pivot->price }}
@endforeach
我有 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 个 table:商店 table、订单 table、产品 table、orders_products table
orders_producs table 是枢轴 table
在视图中 blade laravel 我称之为:
<a href="javascript:">{{ $order->store->name }}</a>
有效。成功显示店名
我的问题是当我想显示产品名称时
鉴于bladelaravel我试试:
<a href="javascript:">{{ $order->products->name }}</a>
存在错误:
Undefined property: Illuminate\Database\Eloquent\Collection::$id (View:...
调用方式好像不对
我该如何解决?
因为是belongsToMany()
,你可以这样显示数据:
@foreach ($order->products as $product)
{{ $product->name }}
{{ $product->pivot->price }}
@endforeach