0

邮件服务.php

<?php

namespace App\Http\Services;

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

class mailService extends Mailable
{
    use Queueable, SerializesModels;
    /**
     * The data instance.
     *
     * @param $data
     */

    public $data;

    /**
     * Create a new message instance.
     *
     * @return void
     */

    public function __construct($data)
    {
        $this->data = $data;
    }

    public function build()
    {
        $address = 'janeexampexample@example.com';
        $subject = 'This is a demo!';
        $name = 'Jane Doe';

        return $this->view('emails.test')
                    ->from($address, $name)
                    ->cc($address, $name)
                    ->bcc($address, $name)
                    ->replyTo($address, $name)
                    ->subject($subject)
                    ->with([ 'test_message' => $this->data['message'] ]);
    }
} 

客户端服务.php

use App\Http\Services\mailService as EmailService;
/**
* @param $clientId
* @param $comp_id
*
* @return \App\Http\Models\clients|\Illuminate\Database\Eloquent\Model
*/
public function getClient($clientId, $comp_id)
{
    $data = ['message' => 'This is a test!'];

    Mail::to('test@test.com')->send(new EmailService($data));

    return $this->clientsRepository->getClient($clientId, $comp_id);
}

当我将参数传递$data给一个新实例时,EmailService我收到一条错误消息

传递给构造函数的参数太少

但我不明白为什么如果我通过$dataclientService,请提前感谢您的帮助。

我正在使用 Lumen Framework5.3和 PHP 7.2,此代码示例取自Sendgrid docs

4

0 回答 0