3
Laravel 5.3でビューを呼び出すMailableクラスを作成しました。しかし、コントローラからMailableクラスにいくつかの変数を渡し、View内でこれらの値を使用する必要があります。これは私のセットアップです:Laravel ControllerからMailableクラスにデータを送信する方法
コントローラー:
$mailData = array(
'userId' => $result['user_id'],
'action' => $result['user_action'],
'object' => $result['user_object'],
);
Mail::send(new Notification($mailData));
Mailable:
class Notification extends Mailable
{
use Queueable, SerializesModels;
protected $mailData;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($mailData)
{
$this->$mailData = $mailData;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
// Array for Blade
$input = array(
'action' => $mailData['action'],
'object' => $mailData['object'],
);
return $this->view('emails.notification')
->with([
'inputs' => $this->input,
]);
}
}
上記は私にエラーを与える:
を参照ErrorException in Notification.php line 25:
Array to string conversion
construct
ラインin Mailableクラス:
$this->$mailData = $mailData;
ここで何が間違っていますか?配列値をController
からMailable
に正しく渡し、with
を使用してView
に渡すにはどうすればよいですか?
:'ます$ this-> MAILDATA = $ MAILDATAを; ' – Neel
こんにちはRIMON、私はそれを得ましたワーキング。私は自分のコードに誤字がありました。 '$ this-> mailData = $ mailData;'の代わりに、 '$ this-> $ mailData = $ mailData;'としました。第二に、「公然」の代わりに「保護された」ことは問題ではなかった。しかし、 '$ mailData ['xyz']'の代わりに '$ this-> mailData ['xyz']'への参照を更新する必要があります。ご協力ありがとうございました。非常に高く評価しました.. – Neel
喜んで助けてください:) –