толчок элемент массива laravel - PullRequest
0 голосов
/ 28 мая 2018

Сори, помогите мне добавить элемент в массив

этот код моего контроллера

$datas = PengembalianAset::select('kd_brg', 'nm_brg', 'nm_lgkp_brg', 'keterangan', 'ruang_id', 'no_ikn')
        ->find($request->id)->toArray();

foreach ($datas as $safety) {
            $dataSet[] = [
                'new element' => 1,
                $safety,
            ];
        }
        print_r($dataSet); exit;

вывод массива

enter image description here

и я хочу добавить 1 элемент к моим данным

, который я ожидал

enter image description here

но результат такой Но результат такой, а не тот, который я ожидал

enter image description here

Ответы [ 3 ]

0 голосов
/ 28 мая 2018

измените ваш foreach с

foreach ($datas as $safety) {
            $dataSet[] = [
                'new element' => 1,
                $safety,
            ];
        }

на

foreach ($datas as $safety) {
            $safety['new element'] = 1;
            $dataSet[] = $safety;
        }
0 голосов
/ 28 мая 2018

Вы также можете сделать это -

$datas = PengembalianAset::select('kd_brg', 'nm_brg', 'nm_lgkp_brg', 
         'keterangan', 'ruang_id', 'no_ikn', '1 AS `new element`')
         ->find($request->id)->toArray();

Получить 1 как new element только из запроса.Как это будет иметь то же значение.Нет необходимости в дополнительной петле.

0 голосов
/ 28 мая 2018

Попробуйте следующее:

$datas = PengembalianAset::select('kd_brg', 'nm_brg', 'nm_lgkp_brg', 'keterangan', 'ruang_id', 'no_ikn')->find($request->id)->toArray();

foreach ($datas as $safety) {
  $safety['new_element'] = 1;
  $dataSet[] =   $safety;
}
print_r($dataSet); exit;

или вы также можете добавить его в существующий массив

$datas = PengembalianAset::select('kd_brg', 'nm_brg', 'nm_lgkp_brg', 'keterangan', 'ruang_id', 'no_ikn')->find($request->id)->toArray();

foreach ($datas as &$safety) { //Passing by Reference
  $safety['new element'] = 1
}
print_r($datas); exit;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...