繁体   English   中英

Laravel属于多个

[英]Laravel Belongs to Many Through multiple

我有以下表格结构

转弯
ID

订单付款
ID
turn_id
order_id

命令
ID

我想得到所有与转弯有关的订单

所以

Class Turn{
  public function orders(){
      return ????
  }

}

你怎么能做到? 我尝试了hasmanythrough但仅在关系处于级联状态时才有效

谢谢!

我不知道您为什么要辛苦工作,并给模型打电话给Turn和数据透视表order_payment

无论如何,您想要这样:

// Turn model
public function orders()
{
   return belongsToMany('Order', 'order_payment');
   // in case you would like to call your fkeys differently, use this:
   // return belongsToMany('Order', 'order_payment', 'payment_id', 'order_whatever_id');
}

// Order model
public function turns() // or payments() ?
{
   return belongsToMany('Turn', 'order_payment');
}

您可以使用

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

那你可以做

$orders = Turn::find(1)->orders;

正如@lowerends所指出的,这是一个BelongsToMany关系,因为我在使用orderPayments表做更多的事情,直到他说我才注意到它,所以最后的解决方法是

```

public function orders(){
    return $this->belongsToMany('Order','orders_payments','turn_id','order_id');
}

```

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM