Как передать массив из контроллера в представление Laravel - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть консультация, мне нужно передать данные массива в контроллере в представление, но когда я получаю данные из массива в представлении, это выдает мне ошибку.

"Illegal string offset 'name'

Контроллер

for($i=0; $i < count($num); $i++) {

    $data = [ 
        'name' => $input['name'][$i],
        'price' => $input['price'][$i],
        'quantity' => intval($input['quantity'][$i]),
        'created_at'=>$now, 
        'updated_at'=>$now,
    ];
}
return view('view', compact('data'));

Просмотр

 @foreach($data as $dat)
    <tr>
        <td width="100">Product</td>
        <td width="50">Quantity</td>
    </tr>
    <tr>
        <td>{{ $dat['name'] }}</td>
        <td>{{ $dat['quantity'] }}</td>
    </tr>
@endforeach

дд ($ data)

array:5 [▼
  "name" => "name1"
  "price" => "14.00"
  "quantity" => 1
  "created_at" => "2018-12-11 09:03:35"
  "updated_at" => "2018-12-11 09:03:35"
]

В чем я не прав?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Не уверен, но попробуйте это

$data = [];

for($i=0; $i < count($num); $i++) {

$temp = [ 
    'name' => $input['name'][$i],
    'price' => $input['price'][$i],
    'quantity' => intval($input['quantity'][$i]),
    'created_at'=>$now, 
    'updated_at'=>$now,
];
array_push($data,$temp);
}
return view('view', compact('data'));
0 голосов
/ 11 декабря 2018

Вы проходите правильно, проблема в вашем массиве.Он не многомерен, но вы пытаетесь получить к нему доступ как многомерный.

$data = [];

for($i=0; $i < count($num); $i++) {
    $data[] = [ 
        'name' => $input['name'][$i],
        'price' => $input['price'][$i],
        'quantity' => intval($input['quantity'][$i])
    ];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...