将数组从laravel控制器传递到视图



请我在laravel数组工作。我想要一种方法来访问一些值,并显示它们作为表单字段在刀片。php文件。

这是一个数组:

$postData = array(
'source_addr' => 'JJA ENT',
'encoding' => 0,
'schedule_time' => '',
'message' => 'Hello World',
'recipients' => 
[array('recipient_id' =>       '1', 'dest_addr' => '233554463045'),   array('recipient_id' => '2', 'dest_addr' => '255700000011')]
);

这是我在这个控制器中返回视图的方式:

return     view('main',compact('postData'));

在刀片文件

<body>
{{$postData['message']}}

输出数组中消息对应的值。

我现在想要一种方法来获取"recipients"但是当我像传递消息那样传递收件人时,它返回错误。

这就是我在控制器

中返回视图的方式
return view('main',compact('postData'));

在叶片

<body>
{{$postData['message']}}

您可以使用foreachLoop来获取blade中的数组值。下面是一个例子

{{$postData['message']}}
@foreach ($postData['recipients'] as $recipient)
<input type="text" name="recipient_id[]" value="{{$recipient['recipient_id']}}">
<input type="text" name="dest_addr[]" value="{{$recipient['dest_addr']}}">
@endforeach

你不应该混合使用不同的数组符号。你只会莫名其妙地迷惑自己。array()用于与不再维护的非常旧的PHP版本保持兼容性。你应该用[ ]

$postData = [
'source_addr' => 'JJA ENT',
'encoding' => 0,
'schedule_time' => '',
'message' => 'Hello World',
'recipients' => [
[
'recipient_id' => '1',
'dest_addr' => '233554463045'
],
[
'recipient_id' => '2',
'dest_addr' => '255700000011'
]
]
];
return view('main', [
'postData' => $postData
]);
<p>Source Address: {{ $postData['source_addr'] }}</p>
<p>Encoding: {{ $postData['encoding'] }}</p>
<p>Schedule Time: {{ $postData['schedule_time'] }}</p>
<p>Message: {{ $postData['message'] }}</p>
<p>Recipients</p>
<ul>
@foreach ($postData['recipients'] as $recipient)
<li>ID: {{ $recipient['recipient_id'] }}. Address: {{ $recipient['dest_addr'] }}</li>
@endforeach
</ul>

最新更新