Php 拉韦尔元';Don’不要用我的主题来写电子邮件

Php 拉韦尔元';Don’不要用我的主题来写电子邮件,php,laravel,email,laravel-5,Php,Laravel,Email,Laravel 5,我试图为电子邮件设置主题行,但Laravel一直使用类名“FormCompleted”作为主题,下面是我得到的代码: <?php namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Queue\ShouldQueue; class FormCo

我试图为电子邮件设置主题行,但Laravel一直使用类名“FormCompleted”作为主题,下面是我得到的代码:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

    class FormCompleted extends Mailable
    {
        use Queueable, SerializesModels;

        protected $data;

        /**
         * Create a new message instance.
         *
         * @param $data
         */
        public function __construct($data)
        {
            $this->data = $data;
        }

        /**
         * Build the message.
         *
         * @return $this
         */
        public function build()
        {
            return $this->subject('Form submitted')
                ->view('emails.form-completed')
                ->with('data', $this->data);
        }
    }

我们可能需要查看用于实现
FormCompleted
邮件类和发送电子邮件的代码,甚至可能还需要查看您的电子邮件刀片视图。这将有助于进一步调试

然而,我测试了你的代码,我收到了正确发送的电子邮件,邮件主题与预期相符

我所做的唯一改变是使用
->with($this->data)
而不是
->with('data',$this->data)(您如何拥有它),因为
$data
对象中定义的属性是视图使用的属性

public function build()
{
    return $this->subject('Testing Email 2')
        ->view('foo.mail2')
        ->with($this->data);
}

否则,我会得到一个错误(视图试图使用不可用的属性,因为视图将一直在寻找
数据
属性)。

尝试分离主题,如下所示:
$this->subject=“whatever”
,而不是调用哪个视图render@ka_lin这是不对的;OP使用了
$this->subject('whatever')的正确语法