我正在Laravel 5.5
上构建一个应用程序,我遇到了邮件问题。我对可邮寄内容的看法:
<h3>Name: {{$message['name']}}</h3>
<h3>Email: {{$message['email']}}</h3>
<p>Message: {{$message['message']}}</p>
我的可邮寄课程:
namespace AppMail;
use IlluminateBusQueueable;
use IlluminateMailMailable;
use IlluminateQueueSerializesModels;
use IlluminateContractsQueueShouldQueue;
use IlluminateHttpRequest;
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);
}
}
我收到错误
不能将类型为"照明\邮件\消息"的对象用作数组
消息是用于将数据信息组合到模板IlluminateMailMessage
实例。将您的$message
变量更改为另一个变量,它将解决您的问题。我希望它能帮助你。
检查是否将 $object 的变量名称更改为其他名称。
首先,使用单词object作为变量名称的形式很糟糕,其次,您可能会遇到$object意外的问题。
其次,您正在引用 'message' => $object['message']
它应该在的位置 'message' => $object->message
$object变量实际上是一个对象而不是数组