Laravel Eloquent inner join with multiple conditions

Tags: , ,

I have a question about inner joins with multiple on values. I did build my code like this in laravel.

public function scopeShops($query) {
    return $query->join('kg_shops', function($join)
        $join->on('', '=', 'kg_feeds.shop_id');
        // $join->on('', '=', "1"); // WRONG
        // EDITED ON 28-04-2014
        $join->on('', '=', DB::raw("1"));


Only problem is, it gives this outcome:

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 (                                                                                        )) 

As you can see, the multiple conditions in the join go fine, but it thinks the 1 is a column instead of a string. Is this even possible, or do I have to fix it in the where.

Thanks in advance!


return $query->join('kg_shops', function($join)
   $join->on('', '=', 'kg_feeds.shop_id');

 ->select('required column names') 
 ->where('', 1)

Source: stackoverflow