我有一个关于具有多个 on 值的内部联接的问题。 我确实在 laravel 中构建了这样的代码。
public function scopeShops($query) {
return $query->join('kg_shops', function($join)
{
$join->on('kg_shops.id', '=', 'kg_feeds.shop_id');
// $join->on('kg_shops.active', '=', "1"); // WRONG
// EDITED ON 28-04-2014
$join->on('kg_shops.active', '=', DB::raw("1"));
});
}
唯一的问题是,它给出了这样的结果:
Column not found: 1054 Unknown column '1' in 'on clause' (SQL: select `kg_feeds`.* from `kg_feeds` inner join `kg_shops` on `kg_shops`.`id` = `kg_
feeds`.`shop_id` and `kg_shops`.`active` = `1`) (Bindings: array ( ))
如您所见,连接中的多个条件运行良好,但它认为 1
是一列而不是字符串。这甚至可能吗,还是我必须在哪里修复它。
提前致谢!
最佳答案
return $query->join('kg_shops', function($join)
{
$join->on('kg_shops.id', '=', 'kg_feeds.shop_id');
})
->select('required column names')
->where('kg_shops.active', 1)
->get();
关于php - Laravel Eloquent inner 加入多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20731606/