объединить два значения массива в laravel

#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();