php - 无法访问属性 - Laravel
问题描述
我正在尝试在 Laravel 中发送电子邮件。
我有我的可邮寄:
public $message;
public function __construct($message)
{
$this->message = $message;
}
public function build()
{
return $this->subject('Message from B&B Vintage Collectibles')->view('mail.direct');
}
控制器:
namespace App\Http\Controllers;
use App\Contact;
use App\Mail\DirectMailable;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use App\Http\Controllers\Controller;
class DirectController extends Controller
{
public function __invoke(Request $request)
{
$user = $request->get('email');
$message = new Contact();
$message->body = $request->get('message');
Mail::to($user)->send(new DirectMailable($message));
return response()->json('Message sent', 200);
}
}
在 direct.blade.php 我有这一行:
<p>{{ $message->body }}</p>
但是当我发送电子邮件时,我收到了这样的回复:
"Undefined property: Illuminate\Mail\Message::$body..."
我以几乎完全相同的方式设置了其他电子邮件系统,所以我无法弄清楚为什么这不起作用。
我试过没有模板,电子邮件发送得很好。
当我得到正确的字符串dd($message->body)
之前。Mail::to...
在获取我的刀片文件的过程中发生了什么,我无法访问此属性?
解决方案
正如这个线程所讨论的那样
https://laracasts.com/discuss/channels/laravel/laravel-mailable-not-working?page=1
不要使用$message
变量,它会导致在 larvel 框架中发送电子邮件时出错。
您可以关注此线程以获取更多信息。
推荐阅读
- state-machine - 在状态转换期间我不能收到任何输入吗?那可能吗?
- kubernetes - 使用 kubectl 列出非暂停的 cronjobs
- ruby-on-rails - 如何在 Rails 4.2 中添加额外的命名路由定义?
- android - Android Studio 中出现错误:app:mergeDebugResources AAPT2 aapt2-4.1.3-6503028-windows 守护进程 #7:守护进程启动失败,进程意外退出
- php - 将行转换为列 php 可能吗?
- flutter - Flutter:FutureBuilder 如何加载接收参数的未来?
- javascript - 在某些条件下使用 JavaScript 更新所有 HTML 项目的文本颜色
- python - 如何正确获取行的部分数据框,然后将其保存到 csv?
- c# - 如果使用 flurl,如何使第一个请求不慢
- html - 使用 flexbox 将元素从容器中移出