php - Laravel Eloquent inner 加入多个条件

标签 php laravel eloquent

我有一个关于具有多个 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/

相关文章:

php - Laravel:函数 Illuminate\Support\Manager::createDriver() 的参数太少

php - Laravel 通过多列分组获取最新记录

Laravel Scope 通过数据透视值

laravel - 对整数调用成员函数 addEagerConstraints()

javascript - 如何在编辑弹出窗口时在 php 中获取 ajax 响应

php - 超出执行时间

php - jQuery multiple get() 从数据库到数组 - 好主意?

php - Laravel Mail::queue 不是异步的

mysql - 如何使用 Laravel 和 MySQL 处理三个或更多类的多对多关系

php - 如何在 Laravel 中建立 belongsTo() 关系?