【发布时间】:2021-04-27 15:56:20
【问题描述】:
我有两个具有多对多关系的模型,在数据透视表上有一些附加字段:
Shift table:
------------
id - uuid
date - date
address - string
...
Employee table:
---------------
id - uuid
first_name - string
...
shift_employee table:
---------------------
id - integer
shift_id - uuid
employee_id - uuid
hours_worked - integer
...
现在,我正在 Laravel Nova 中制作一个镜头,我想使用查询对象来检查 shift_employee 上与特定班次相关的任何实例的 hours_worked 值是否大于 0 em> 在 shift_employee 表上。
我的第一个想法是以某种方式使用 whereHas 假设 Shift 模型具有关系 employees,如下所示:
$query->whereHas('employees' function ($q) {
$q->where('hours_worked', '>', 0);
});
但是...这不起作用...某些员工的轮班时间超过 0 hours_worked 并且此查询字符串对我不起作用。我该怎么做?
【问题讨论】:
-
this 回答你的问题了吗?
-
不,不是
-
据我了解,您处于轮班资源模型中,您只想获得工作时间超过 0 小时的员工,对吗?你能给我们你得到的结果和你想要的结果吗?
标签: php laravel laravel-nova