Php 拉雷维尔通过多重身份属于许多人
我有下面的表结构 转弯Php 拉雷维尔通过多重身份属于许多人,php,laravel,eloquent,relationship,Php,Laravel,Eloquent,Relationship,我有下面的表结构 转弯 身份证 订单\u付款 id 转弯id 订单号 订单 身份证 我想得到所有与回合有关的命令 所以 你如何做到这一点? 我尝试了hasmanythrough,但它只在关系处于级联状态时起作用 谢谢 您可以使用 public function orders() { return $this->belongsToMany('Order'); } 那你就可以了 $orders = Turn::find(1)->orders; 你可以用 public func
身份证 订单\u付款
id
转弯id
订单号 订单
身份证 我想得到所有与回合有关的命令 所以 你如何做到这一点? 我尝试了
hasmanythrough
,但它只在关系处于级联状态时起作用
谢谢 您可以使用
public function orders()
{
return $this->belongsToMany('Order');
}
那你就可以了
$orders = Turn::find(1)->orders;
你可以用
public function orders()
{
return $this->belongsToMany('Order');
}
那你就可以了
$orders = Turn::find(1)->orders;
正如@lowerends指出的,这是一种归属关系,因为我在使用orderPayments表处理更多的事情,直到他说我才注意到,所以最终的解决方案如下 ```
```正如@lowerends指出的,这是一种归属关系,因为我在使用orderPayments表处理更多的事情,直到他说我才注意到,所以最终解决方案如下 ```
```我想知道你为什么让你的生活变得艰难,把你的模型叫做
Turn
和pivot表order\u 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');
}
我想知道你为什么让你的生活变得艰难,把你的模型叫做
Turn
和pivot表order\u 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');
}
您确定
hasManyThrough('Order','Order\u payment')
不起作用吗?不起作用,它搜索GS\u订单。Order\u payment\u id
不存在,您确定hasManyThrough('Order','Order\u payment')
不起作用吗?不起作用,它搜索GS\u订单。Order\u payment\u id
不存在,如果在turn
中,我有order\u id
字段,这将起作用,但在我的情况下,这将存储在order\u payment
中,而不是直接存储在turn
中,这对于belongsTo
关系是正确的。因为您有一个belongTomany
关系,所以您只需要pivot表,如果您遵循默认的Laravel命名约定,该表应该被称为order\u turn
。在这里可以找到更多信息:如果在turn
中我有order\u id
字段,这将起作用,但在我的情况下,这将存储在order\u payment
中,而不是直接存储在turn
中,这对于belongsTo
关系是正确的。因为您有一个belongTomany
关系,所以您只需要pivot表,如果您遵循默认的Laravel命名约定,该表应该被称为order\u turn
。在这里可以找到更多信息:示例中的表名错误,键顺序错误。@JarekTkaczyk_deczo_你是对的,刚刚更新的表名错误,键顺序错误。@JarekTkaczyk_deczo_你是对的,刚刚更新了它