【问题标题】:Need a SQL to Laravel Eloquent Translation需要一个 SQL 到 Laravel Eloquent 翻译
【发布时间】:2014-06-23 20:30:37
【问题描述】:

我需要将以下 SQL 查询翻译成 Laravel 的 Eloquent 语法:

SELECT a.* 
FROM applications a
LEFT JOIN ratings r 
  ON a.id = r.application_id
 AND r.admin_id = 1
WHERE r.admin_id IS NULL

我能够让它工作的唯一方法是使用 DB::raw 运行查询,但我很好奇它在使用 Eloquent 语法时应该是什么样子。理想情况下,我希望能够顺利迁移到任何其他数据库。

【问题讨论】:

    标签: mysql sql laravel laravel-4


    【解决方案1】:

    您可以将闭包传递给连接。您需要在指定变量时使用DB::raw(),而不是要加入的另一个数据库列。

    DB::table('applications')
        ->select('applications.*')
        ->leftJoin('ratings', function($join)
        {
            $join->on('ratings.application_id', '=', 'applications.id');
            $join->on('ratings.admin_id', '=', DB::raw('1'));
        })
        ->whereNull('ratings.admin_id')
        ->get()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      相关资源
      最近更新 更多