Я получаю массив из формы, который может выглядеть следующим образом:
array [
"absender" => "Maxim Ivan",
"email" => "maximivan@example.com",
"telefon" => "1234567890",
"fax" => null,
"grund" => "Gehaltserhöhung",
"termin" => [
0 => [
"person" => "Some Name",
"meeting" => "10.05"
],
1 => [
"person" => "Another Name",
"meeting" => "18.05"
],
2 => [
"person" => "Again another name",
"meeting" => null,
"next-possible-meeting" => "1"
],
3 => [
"person" => "And again",
"meeting" => null,
"next-possible-meeting" => "1"
],
4 => [
"meeting" => null,
],
"bemerkung" => "some notes by Maxim"
]
Я закодировал массив, чтобы сделать его доступным в upload
-методе так:
<input type="hidden" value="{{ json_encode($arrayData) }}" name="array" />
в методе upload
У меня есть класс проверки (http-запрос) в качестве параметра $ request, поэтому я получаю массив и напрямую декодирую его следующим образом:
$array = json_decode($_POST['array']);
Я даю$array
к виду лезвия, но когда я пытаюсь получить доступ к нему, чтобы отобразить значения, подобные этому:
// controller
return view('view', compact('array));
// blade view
@if (isset($array) && !empty($array))
@foreach ($array as $key => $data)
<tr>
@if (!empty($data) && !is_numeric($key))
<td>{{ $key }}:</td>
<td>{{ $data[$key] }}</td>
@else
<td>{{ $key }}:</td>
<td>keine Angabe.</td>
@endif
</tr>
@endforeach
@endif
Я получаю ошибку Illegal string offset 'absender'
, но я действительно не понимаю, почему, я ужедекодировал его в контроллере .. Или мне нужно декодировать снова в представлении?
Я в замешательстве.