如果是多态的,有什么办法可以得到所有阶的关系?

时间:2018-12-06 15:33:58

标签: laravel-5 eloquent

我有一个订购型号,产品和序列号。您可以拥有订单ID和产品列表以及一对多序列号。

订购

public function products() {
    return $this->hasMany('App\Product', 'order_id', 'id');
}

产品

public function serialNumbers() {
    return $this->morphMany('App\SerialNumber', 'serial_numberable');
}

序列号

public function serial_numberable() {
    return $this->morphTo();
}

如果我想获取产品的序列号

$sn = Product::find(1); 
dd($sn->serialNumbers);

我如何获得序列号 dd($order->products()) 收藏吗?

1 个答案:

答案 0 :(得分:1)

如果您希望使用serialnumbers的产品系列,可以执行以下操作:

dd($order->products->load('serialNumbers'));

如果只想收集serialnumbers,则可以执行以下操作:

dd($order->products->load('serialNumbers')->pluck('serialNumbers'));