将数组打印到 blade

Printing array to blade

我收到

错误

htmlspecialchars() expects parameter 1 to be string, object given.

我正在尝试打印从 session 到 blade 的 array

查看:

<input type="text" name="to" value="{{$mail}}">

控制器:

public function view_send_email()
{
    $data["_email_list"] = Tbl_press_release_email::get();
    $data["sent_email"] = Request::input('sent_email');
    $mail = Session::get('email');

    return view("send_email", compact('data', 'mail'));
}
<input type="text" name="to" value="{{$mail}}">

To

<input type="text" name="to" value="{{print_r($mail)}}">

它似乎返回了多个值,所以你必须遍历它们才能显示所有这些值,使用 foreach 循环。

@foreach ($mail as $email)
    <input type="text" name="to" value="{{$email}}">
@endforeach

如果你想要表单模型绑定

这是不同的东西,但概念相同,您可以查看文档 here

编辑:看起来您想将数组存储到输入中,为此您必须在您的名称末尾添加一个 []像这样输入

<input type="text" name="to[]" value="{{$mail}}">

然后当他们提交时,您只需 Input::get('to')[0] 显示第一个输入。

你应该试试这个:

@foreach ($mail as $email)
    <input type="text" name="to[]" value="{{$email}}">
@endforeach

注意:因为您将在 $email 中有多个值,所以您需要获取上面代码中提到的输入元素数组(即 name = "to[]"

更新答案

@foreach ($mail as $email)
   @foreach ($mail as $emails)
        <input type="text" name="to[]" value="{{$emails}}">
  @endforeach
@endforeach