2017-08-02 43 views
1

我試圖發送電子郵件給管理員使用mailable api接受的用戶在Laravel 5.3。傳遞給App Mail SurveyMail :: __構造()的參數1必須是App Mail User的一個實例,array給

class SurveyMail extends Mailable 
{ 
    use Queueable, SerializesModels; 

    public $user; 
    /** 
    * Create a new message instance. 
    * 
    * @return void 
    */ 
    public function __construct(User $user) 
    { 
     $this->user=$user; 
    } 

    /** 
    * Build the message. 
    * 
    * @return $this 
    */ 
    public function build() 
    { 
     return $this->view('mail.send') 
     ->from('[email protected]'); 
    } 

,這是我的控制器

class EmailController extends Controller 
{ 
    public function send(Request $request,User $user) 
    {  
     Mail::to($user) 
     ->send(new SurveyMail ($request->except('_token'))); 
    } 
} 

的觀點:

<body style="background: black; color: white"> 
<h2>Prise de contact sur mon beau site</h2> 
    <p>Réception d'une prise de contact avec les éléments suivants :</p> 
    <ul> 

     <li><strong>Nom</strong> : {{ $user->name }}</li> 
     <li><strong>Email</strong> : {{ $user->email }}</li> 


</body> 

看來,這是傳遞給構造函數的參數User是不能接受的。請問我該如何解決這個問題?

回答

1

SurveyMail結構添加App\或在它的上面添加use App\User

public function __construct(App\User $user) 
{ 
    $this->user=$user; 
} 

然後調用應該是這樣的:

Mail::to($user) 
     ->send(new SurveyMail ($user)); 
+0

感謝您的回覆,但錯誤依然存在,甚至伴隨着這種 – Sara

+0

@Sara檢查我的更新:) – Maraboc

+0

是的,現在的工作非常非常感謝,但是爲什麼我有很多相同的郵件在我的mailtrap箱但是我發了一次。 – Sara

1

在你SurveyMail構造函數,你鍵入暗示$user作爲User對象,但實例化已傳遞請求數據的類是一個數組。試試這個

Mail::to($user)->send(new SurveyMail($user)); 

而且,沒有進口的User對象,因此它假定你User類是內部App\Mail。這不是。因此,請將您的App\User模型導入課程頂部。

use App\User; // <- Add this here 

class SurveyMail extends Mailable 

此外,在您的看法。您忘記關閉ul標籤。

<body style="background: black; color: white"> 
<h2>Prise de contact sur mon beau site</h2> 
    <p>Réception d'une prise de contact avec les éléments suivants :</p> 
    <ul> 
     <li><strong>Nom</strong> : {{ $user->name }}</li> 
     <li><strong>Email</strong> : {{ $user->email }}</li> 
    </ul> 
</body> 
+0

感謝您的回覆,但即使通過此修改,錯誤仍然存​​在 – Sara

+0

@Sara我更新了我的答案。嘗試一下。 –

+0

謝謝它的作品 – Sara

0

你可以做以下哪些工作適合我。

從你SurveyMail構造,$user之前刪除'User',使構造看起來像下面

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

這應該修正這個錯誤。

相關問題