Вы не можете использовать where
в массиве PHP, возвращаете ли вы коллекцию из метода csvToArray
?Если вы это сделаете, то вам не следует вызывать get()
для коллекции, так как это код для построителя запросов.
Так что я буду предполагать, что вы возвращаете только массив из вашего метода, а затемколлекция, вы можете использовать вспомогательную функцию, поэтому ваш код может стать следующим:
$file = public_path('file/city_master.csv');
$customerArr = $this->csvToArray($file);
$result = collect($customerArr)->filter(function ($item) use ($query) {
// replace stristr with your choice of matching function
return false !== stristr($item->City_Code, $query);
});
if($result->count()) {
// success
}
return 'not in array';
Я использую функцию stristr () для эмуляции оператора LIKE.