【发布时间】:2017-08-02 10:23:33
【问题描述】:
我尝试使用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 的字段。
【问题讨论】:
-
这些
oc_tasks和oc_groups表之间有什么关系吗? -
不,它们之间没有关系。
-
如果这些表之间没有关系,那么你怎么能加入这些表。
-
对于联接,表之间没有必要建立关系,如果我错了,请纠正我。这就是为什么我使用这种连接,并且在我的模型中与这个表没有任何关系。
-
你不能像这样没有关系的加入两个表。
标签: laravel laravel-5.4 lumen-5.4