我用laravel做了查询生成器,并且在其中使用了多个连接。当执行查询时,我得到错误Not enough arguments for the on clause.
我的查询生成器:
return DB::table('towns_cat_rel')
->join('towns', function ($join) {
$join->on('towns_cat_rel.town_id', '=', 'towns.id')
->where('publish', '=', 1);
})
->join('towns_translations', function ($join) {
$join->on('towns_cat_rel.town_id', '=', 'towns_translations.town_id')
->where('locale', '=', \App::getLocale());
})
->join('towns_cat', function ($join) use($categoryID) {
$join->on('towns_cat.id', '=', 'towns_cat_rel.town_cat_id')
->where('towns_cat.id', '=', $categoryID);
})
->join('towns_sub_cat_rel', 'towns_cat_rel.town_id', '=', 'towns_sub_cat_rel.town_id')
->join('towns_sub_cat', function ($join) use($subCategoryID) {
$join->on('towns_sub_cat_rel.town_sub_cat_id', 'towns_sub_cat.id')
->where('towns_sub_cat.id', '=', $subCategoryID);
})
->get();
有人知道为什么会这样吗?
最佳答案
对不起伙计们!我忘记了上次加入的时候
现在工作正常了!
关于mysql - JoinClause.php第79行中的InvalidArgumentException:on子句的参数不足,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35336137/