首页 文章

Laravel Mail :: send()非法offet 'name'

提问于
浏览
1

我确定有一个简单的解决方案,但在处理与Laravel Mail :: send()一起使用的表单输入时,我遇到“非法字符串偏移”错误 .

这是处理表单输入的代码,因为它必须是一个数组 .

$msg = array(
    'name'=>Input::get('name'),
    'email'=>Input::get('email'),
    'message'=>Input::get('message')
);

然后我尝试通过Mail :: send()发送它 .

Mail::send('emails.question', $msg, function($message) {
    $message->to('myPersonalEmail@domain.com')->subject('Email from your website!');
});

app / views / emails / question.blade.php模板非常简单 .

{{ $msg['name'] }} 
{{ $msg['email'] }}
{{ $msg['message'] }}

但我仍然得到以下错误 .

ErrorException (E_UNKNOWN)
Illegal string offset 'name' (View:
[intentionally omitted for privacy]/app/views/emails/question.blade.php)

我认为错误是指$ msg ['name']没有出现,但是如果我返回视图而我根本没有收到错误 .

return View::make('emails.questions')->with('msg',$msg);

我错过了什么?

1 回答

  • 1

    您已将 $msg 作为关联数组传递,因此 $msg 数组的项目可供 $key 视图使用 . 在你的情况下,这就像 $name$email 等等 . app / views / emails / question.blade.php现在将是这样的

    {{ $name }} 
    {{ $email }}
    {{ $message }}

相关问题