Php 在laravel的查询中位于何处
我正在尝试构建这个查询,其中包含一个where In。但是,当我运行它时,我得到了错误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){
$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()