php - Laravel orwhere 和 whereBetween 查询不能一起工作

标签 php database laravel laravel-5.4

我有一种情况可以从数据库中过滤用户,这种方式可以从具有特定 ID 的表的两列中过滤,并且应该使用日期范围进行过滤。

我的代码如下所示。

$fetchSelectedUser=Wallet_Transaction::select('wallet__transactions.from as FromUser','wallet__transactions.type','wallet__transactions.date','wallet__transactions.amount','wallet__transactions.balance_after',
               'wallet__transactions.type','wallet__transactions.description','wallet__transactions.to as ToUser','users.name as FromName',DB::raw('(select name from users where users.id = ToUser) as toName'))
               ->join('users','users.id','=','wallet__transactions.from')
               ->where('wallet__transactions.from','=',$user_id)->orWhere('wallet__transactions.to','=',$user_id)
               ->whereBetween('wallet__transactions.db_date',[$fromDate,$toDate])->get();

我试过的是设置一个静态日期,但没有用。我还单独删除了 orWherewhereBetween 。那是有效的。但它不会一起工作。

最佳答案

使用 where() 闭包对您的条件查询进行分组:

$fetchSelectedUser=Wallet_Transaction::select('wallet__transactions.from as FromUser','wallet__transactions.type','wallet__transactions.date','wallet__transactions.amount','wallet__transactions.balance_after',
           'wallet__transactions.type','wallet__transactions.description','wallet__transactions.to as ToUser','users.name as FromName',DB::raw('(select name from users where users.id = ToUser) as toName'))
           ->join('users','users.id','=','wallet__transactions.from')
           ->where(function($q) use ($user_id){
                $q->where('wallet__transactions.from','=',$user_id)->orWhere('wallet__transactions.to','=',$user_id);
           })->whereBetween('wallet__transactions.db_date',[$fromDate,$toDate])->get();

关于php - Laravel orwhere 和 whereBetween 查询不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49642666/

相关文章:

php - 在 CakePHP 3 中自定义 anchor 标记

database - Laravel/Homestead - 无法连接到数据库

php - 尝试在 Laravel 中的一对多关系中查找子记录的父记录时获取 null

php - 使用 PHP 从 MySQL 文件创建 zip 存档

PHP登录网站文件夹

c# - 删除数据库mdb表格中的一个表

mysql - 在哪里放置外键以获得最佳数据库设计?

ruby - 使用 WHERE 筛选数据库结果

laravel - 如何使用 laravel socialite 实现 facebook Api 获取生日性别和宗教信息

linux - SELINUX 阻止 php-fpm 和 nginx 一起工作?