我有以下表结构
变为
ID
orders_payments
ID
turn_id
order_id
订单
ID
我希望获得与转弯相关的所有订单
所以
Class Turn{
public function orders(){
return ????
}
}
你怎么能实现这一目标?
我尝试了hasmanythrough
但它只在关系是级联时才有效
谢谢!
答案 0 :(得分:6)
我想知道你为什么要努力工作并打电话给你的模特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');
}
答案 1 :(得分:1)
您可以使用
public function orders()
{
return $this->belongsToMany('Order');
}
然后你可以做
$orders = Turn::find(1)->orders;
答案 2 :(得分:1)
正如@lowerends指出的那样,这是一个BelongsToMany关系,因为我使用orderPayments表来获取更多我没有注意到的事情,直到他说,所以最后解决方案是以下
```
public function orders(){
return $this->belongsToMany('Order','orders_payments','turn_id','order_id');
}
```