php - laravel 原始连接查询

标签 php laravel laravel-query-builder

我有一个接受原始 where 条件和连接的函数:

query('data',['fieldA','fieldB'], 'fieldA > 10 AND fieldB < 20', 'LEFT JOIN users ON data.user_id = users.id');

function query($table, $keys = [], $where = '', $joins = '') {
   $query = DB::table($table)->select($keys);
   if(!empty($where)) {
      $query=$query->whereRaw($where);
   }
   if(!empty($joins)) {
      $query=$query->?????????????
   }
   return $query->get();
}

我如何像使用 whereRaw 来处理 where 条件那样,将原始连接与查询构建器一起使用?

最佳答案

没有好闻但工作

    \DB::table('data')->join('user', function($join){
            $join->on(\DB::raw('( `data`.`user_id` = `user.id` or (`data`.`user_id` is null and `data`.`other_field` is null)) and 1 '),'=',\DB::raw('1'));      
        })

关于php - laravel 原始连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46566920/

相关文章:

php - laravel 查询生成器中的错误

php - 从 php 脚本设置 cron 作业以运行另一个 php 脚本?

存储和更新上的 Laravel 表单请求验证使用相同的验证

php - 是否有必要在 laravel 中为数据库操作创建模型(用于查询生成器)?

laravel - with() 的回调函数返回空集合

php - Laravel 种子数据库播种后回滚

mysql - 获取用户的 DISTINCT id 并找到其列的 MAX,然后更新、LARAVEL

php - "There are no commands defined in the ' 命令 ' namespace."在运行命令 :make in Laravel 之后

javascript - iFrame 元素未在容器内调整大小的问题

php - 通过制表符分隔文本文件的内容更新 MySQL 表(通过 PHP)