从数据透视表中剔除多对多关系访问表列值

时间:2015-06-18 08:46:11

标签: php laravel pivot-table relation

我有两种模式:

class Order extends Eloquent 
{
    public function User()
    {
        return $this->belongsTo('User');
    }

    public function Product()
    {
        return $this->belongsToMany('Product');
    }
}

,第二个是:

class Product extends Eloquent 
{
    public function Order()
    {
        return $this->belongsToMany('Order');
    }
}

我的问题是如何使用数据透视表访问第二个表列的值:

产品表:

id
title
image

订单表:

id
status

数据透视表(order_product):

id
product_id
order_id

我需要从订单访问产品的标题栏。例如,如果用户在一个订单中订购了许多产品,我可以获取所有产品标题并显示主题。 我不喜欢使用join,而是喜欢使用Laravel功能。

1 个答案:

答案 0 :(得分:0)

我找到了答案:

$orders = Order::orderBy('created_at', 'DESC')->paginate($page_number);

foreach($orders as $item){
  foreach($item->product as $item){
     {{$item->title}}<br>
  }
}

我可以从订单中访问产品。