我有两个一对多对:
状态 > 订单
状态 > 票
命令
id, status_id
1, 5
门票
id, status_id
1, 2
状态
id, table, language_id, key, name
1, 'orders', 1, 1, 'Pending'
2, 'orders', 1, 2, 'Processing'
3, 'orders', 1, 3, 'Shipped'
4, 'orders', 1, 4, 'Canceled'
5, 'orders', 1, 5, 'Complete'
6, 'tickets', 1, 1, 'unanswered'
7, 'tickets', 1, 2, 'answered'
8, 'tickets', 1, 3, 'closed'
//unique(['table', 'language_id', 'key'])
订单模型
public function status()
{
//ok
return $this->belongsTo('App\Models\Status', 'status_id', 'key')->where('table', 'orders')->where('language_id', 1);
//not ok
return $this->belongsTo('App\Models\Status', 'status_id', 'key')->wherePivot('table', '=', 'orders')->wherePivot('language_id', '=', 1);
}
控制器
$order = \App\Models\Order::find(1);
dd($order->status);
错误消息:未找到列:1054 'where 子句' 中的未知列 'pivot'(SQL:select * from statuses
where statuses
. key
= 5 and pivot
= table and pivot
= language_id limit 1)
如果 where() 没问题,为什么还有 wherePivot()?
如何正确使用 wherePivot?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句