flywayMigrate2
并有一个数据透视表
members
---------
id | tag | hasOn
1 | 1 | 1
2 | 2 | 1
3 | 3 | 0
4 | 1 | 1
tags
---------
id | title | date
1 | a | 05.12.2017 00:00:00
2 | b | 01.12.2017 00:00:00
3 | c | 12.11.2017 00:00:00
4 | d | 27.11.2017 00:00:00
这是我的代码(Auth :: user引用成员模型)
Auth :: user() - > tags() - > where(' date','<',\ Carbon \ Carbon :: now()) - > orWhere(函数($ q){ $ q-> wherePivot(' tagActive',1); }) - >首先();
它不起作用。 我必须通过" date<来结帐会员标签。现在"或" tagActive = 1"
我怎么能这样做? (看看它在哪里拥有表格列或在哪里转动表格列)
答案 0 :(得分:1)
尝试更改顺序,以便执行此操作:
Auth::user()->tags()
->wherePivot('tagActive', 1)
->orWhere('date', '<', \Carbon\Carbon::now())
->first();
wherePivot
仅存在于BelongsToMany
关系中。它在无范围的QueryBuilder中不存在,这是你在带有闭包的where子句中得到的。