将阵列打印到刀片

时间:2017-10-24 06:48:30

标签: php laravel blade

我收到错误

  

htmlspecialchars()期望参数1为字符串,给定对象。

我正在尝试从array打印session到刀片。

视图:

<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'));
}

3 个答案:

答案 0 :(得分:1)

你应该试试这个:

@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

答案 1 :(得分:0)

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

To

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

答案 2 :(得分:0)

好像它正在返回多个值,所以你必须遍历它们以显示所有值,使用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]即可显示第一个输入。