0

我尝试使用 a 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 内部连接 ​​oc_groups on oc_groups.id = 1 中选择 oc_tasks.title 作为 task_title,其中 oc_tasks.task_date 在 2017-07-01 之间和 2017-07-31)

是的1内容$value。我做错了什么?- 该表oc_groups有一个名为 的字段id

4

1 回答 1

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`
于 2017-08-02T10:39:58.937 回答