#php #arrays #laravel
#php #массивы #laravel
Вопрос:
Я хочу объединить два массива в laravel 5.3. У меня есть переменная ‘$type’, которая возвращает
`IlluminateSupportCollection Object ( [items:protected] => Array ( [1] => rinu )`
который получается из запроса
$type0=DB::table('users')->where('name','=',$head)->pluck('name','id');
Я хочу объединить с массивом $type1, который возвращает
IlluminateSupportCollection Object ( [items:protected] => Array ( [2] => john ) )
IlluminateSupportCollection Object ( [items:protected] => Array ( [3] => dinesh ) )
IlluminateSupportCollection Object ( [items:protected] => Array ( [4] => mahesh ) )
IlluminateSupportCollection Object ( [items:protected] => Array ( ) )
$type1=DB::table('users')->where('name','=',$head)->pluck('name','id');
Я попытался объединить и сохранить его в $type0;
$type0=$type0->merge($type1);
Возвращает неправильное значение
IlluminateSupportCollection Object ( [items:protected] => Array ( [0] => rinu [1] => john ) )
IlluminateSupportCollection Object ( [items:protected] => Array ( [0] => rinu [1] => john [2] => dinesh ) )
IlluminateSupportCollection Object ( [items:protected] => Array ( [0] => rinu [1] => john [2] => dinesh [3] => mahesh ) )
IlluminateSupportCollection Object ( [items:protected] => Array ( [0] => rinu [1] => john [2] => dinesh [3] => mahesh ) )`
enter code here
Ответ №1:
Если вы хотите получить объединенный array
(и нет collection
), вы можете использовать toArray()
array_merge()
функции and:
$mergedArray = array_merge($type0->toArray(), $type1->toArray());
Комментарии:
1. поймал ИСКЛЮЧЕНИЕ FATALERROREXCEPTION В 7BB347C8C194579700A647DADD62EA3D8E0AB68A.PHP СТРОКА 358: ВЫЗОВ ФУНКЦИИ-ЧЛЕНА TOARRAY() ДЛЯ МАССИВА
Ответ №2:
Кажется, у вас есть коллекция для каждого значения. Таким образом, вы, вероятно, извлекаете каждое значение независимо, а не за один раз.
Ваша проблема, вероятно, решается с помощью where вместо числа where
s.
$result = DB::table('users')
->whereIn('name', ['John', 'Dinesh', 'Mahesh'])
->get();