Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel或WHERE和WHERETHEVER查询不一起工作_Php_Database_Laravel_Laravel 5.4 - Fatal编程技术网

Php Laravel或WHERE和WHERETHEVER查询不一起工作

Php Laravel或WHERE和WHERETHEVER查询不一起工作,php,database,laravel,laravel-5.4,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__transaction

我有一种从数据库中筛选用户的方式,即从具有特定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();
我试过的是把一个静态的日期,并没有工作。我还独立地删除了
或where
wherewhere
。这是有效的。但是它不能一起工作。

使用
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();

你能解释一下你想在这里实现什么,你的查询有一些例子吗?如何将userid传递给这个