Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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的查询中位于何处_Php_Laravel_Laravel 5_Query Builder - Fatal编程技术网

Php 在laravel的查询中位于何处

Php 在laravel的查询中位于何处,php,laravel,laravel-5,query-builder,Php,Laravel,Laravel 5,Query Builder,我正在尝试构建这个查询,其中包含一个where In。但是,当我运行它时,我得到了错误 $tickets = DB::table('ticket_details') ->join('client_details', 'client_details.client_id', '=', 'ticket_details.client_id') ->select(); if($archived){

我正在尝试构建这个查询,其中包含一个where In。但是,当我运行它时,我得到了错误

$tickets =  DB::table('ticket_details')
                ->join('client_details', 'client_details.client_id', '=', 'ticket_details.client_id')
                ->select();

               if($archived){
                   $tickets->where('ticket_details.is_archived', '=', '1');
                } else {
                   $tickets->where('ticket_details.is_archived', '=', '0');
                }
                if($user->hasRole('ABM')) {
                    $tickets->whereIn('client_details.client_area', $regions);
                }
但是这个查询给了我一个错误:

Argument 1 passed to Illuminate\Database\Grammar::parameterize() must be of the type array, object given, called in
/Applications/XAMPP/xamppfiles/htdocs/levigo/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php on line 313 and defined 传递给Illumb\Database\Grammar::parameterize()的参数1必须是在第313行的
/Applications/XAMPP/xamppfiles/htdocs/levigo/vendor/laravel/framework/src/illumb/Database/Query/Grammars/Grammar.php中调用并定义的给定对象数组类型
此处的where方法有什么问题?/

似乎$regions变量不是数组(无法从粘贴的代码中猜出),可能是一个illible\Support\Collection或illible\Database\elount\Collection


希望这有帮助

似乎$regions变量不是数组(无法从粘贴的代码中猜出),可能是一个illumb\Support\Collection或illumb\Database\elounce\Collection


希望这有帮助

在执行此代码之前,您应该检查$regions是否为数组。当尝试从数据库获取数组但未找到结果时,对象未初始化为数组

$tickets =  DB::table('ticket_details')
                  ->join('client_details', 'client_details.client_id', '=','ticket_details.client_id')
                  ->select();

$tickets->where('ticket_details.is_archived', '=', $archived ? '1' : '0');  

if($user->hasRole('ABM')) {
   if( count( $regions ) ) $tickets->whereIn('client_details.client_area', $regions);
}

在执行此代码之前,您应该检查$regions是否为数组。当尝试从数据库获取数组但未找到结果时,对象未初始化为数组

$tickets =  DB::table('ticket_details')
                  ->join('client_details', 'client_details.client_id', '=','ticket_details.client_id')
                  ->select();

$tickets->where('ticket_details.is_archived', '=', $archived ? '1' : '0');  

if($user->hasRole('ABM')) {
   if( count( $regions ) ) $tickets->whereIn('client_details.client_area', $regions);
}

$regions
在哪里定义?如果它是一个laravel集合对象(很可能),那么尝试使用
$regions->toArray()
在哪里定义了
$regions
?如果它是一个laravel集合对象(很可能),那么尝试使用
$regions->toArray()