我正在Laravel 5.5
上构建一个应用程序,我正面临着邮件的困难。
我对可邮寄的看法:
<h3>Name: {{$message['name']}}</h3>
<h3>Email: {{$message['email']}}</h3>
<p>Message: {{$message['message']}}</p>
我的mailable课程:
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Http\Request;
class Contact extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(Request $request)
{
$this->object = $request;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$object = $this->object;
$message = [
'name' => $object['name'],
'email' => $object['email'],
'message' => $object['message']
];
return $this->view('mails.contact')->with('message', $message);
}
}
我收到错误
不能使用Illuminate \ Mail \ Message类型的对象作为数组
答案 0 :(得分:1)
消息是Illuminate\Mail\Message
的实例,用于将数据信息组合到模板中。
将您的$message
变量更改为另一个变量,它将解决您的问题。
我希望它会对你有所帮助。
答案 1 :(得分:0)
检查是否将$ object的变量名更改为其他名称。
首先使用word对象作为变量名称是不好的形式,其次你可能遇到对象和$ object的意外问题。
其次你在引用
'message' => $object['message']
它应该在哪里
'message' => $object->message
作为$ object变量实际上是一个Object而不是一个数组