我尝试使用join
,并将数组作为条件:
$task = Task::join('oc_groups', function($join) use ($filter) {
foreach($filter['groups']['data'] as $key => $value) {
$join->on('oc_groups.id', $value);
}
});
但我收到错误消息:
SQLSTATE [42S22]:未找到列:1054'on子句'中的未知列'1'(SQL:选择oc_tasks.title作为task_title,来自oc_tasks内连接oc_groups on oc_groups.id = 1,其中oc_tasks.task_date介于2017- 07-01和2017-07-31)
1
是$value
的内容。我做错了什么? - 表格oc_groups
有一个名为id
的字段。
答案 0 :(得分:1)
由于您在这两个表之间没有任何关系,因此请尝试不加入。像这样
select `oc_tasks`.`title` as `task_title` from `oc_tasks` ,`oc_groups`
where `oc_tasks`.`task_date` between 2017-07-01 and 2017-07-31 and `oc_groups`.`id` = `1`