# laravel Notifications 消息通知 https://laracasts.com/series/laravel-from-scratch-2018/episodes/33 必看 https://laracasts.com/series/laravel-6-from-scratch/episodes/46 https://www.bilibili.com/video/BV1JQ4y1N7Dh/?spm_id_from=333.788.recommend_more_video.0 https://www.youtube.com/watch?v=5DREuAvFnps Q&A https://medium.com/learn-or-die/laravel-digging-deeper-notifications-%E5%AE%98%E6%96%B9%E6%96%87%E4%BB%B6%E5%8E%9F%E5%AD%90%E5%8C%96%E7%BF%BB%E8%AD%AF%E7%AD%86%E8%A8%98-1089b60003ee 歐洲LARAVEL講解 https://www.youtube.com/watch?v=rcaZbrhfi6M ## 在model 中 可以在model中引入trait **use Notifiable (這邊裡面會有兩個 左邊的是database關聯 多態跟找use->notification 找關聯的 右邊是可以用->notify這樣的)** 這樣在可以new Notifications $user->notify(new ###) ## 使用 記得他預設是email 可以看 via的function 是returen emaii 可以把mail改成log測試就知道了 ## event/listen vs notifocation event這種會有條件 Ex auth的創建使用者那個trait 通知不會有條件 所以都會監聽事件 在觸發通知 ## 使用database 預設via是 email 可以自己在增加database 這樣只要model有用trait 就能用多態存進去 欄位裡面的data就是 notifiable裡面的toArray function 最好不要用toArray 用toDatabase  ## helper 跟靜態方法  靜態方法對多人 model 的trait 是對單一 ## trait裡面方法  一個是對列 一個是立刻 ## SMS 訊息 https://www.bilibili.com/video/BV1Df4y1m7WM/?spm_id_from=333.788.recommend_more_video.3 ## slack https://www.youtube.com/watch?v=LnW7bE1iXqE  ## 管理員觀看使用通知 https://www.youtube.com/watch?v=5DREuAvFnps ## :send參數  左邊是對他 右邊是給的 存到table裡面 ## Queueing Notifications ``` <?php namespace App\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Notification; class InvoicePaid extends Notification implements ShouldQueue { use Queueable; // ... } ``` Answer: implement ShouldQueue interface, 該 notification 將會被 queue use Queueable trait, 該 notification 內可使用 Queueable trait 定義的 method ### $notifiable Laravel Notifications 中, $notifiable 代表? Notification 要發送到的 instance, 例如我要發送到指定 user, 那 $notifiable 就代表該 user model ## email要用view Laravel Notifications 中, 除了使用 lines 語法在 toMail method 裡頭定義 mail 格式外, 如果我想要使用 template 來定義, 可以使用 MailMessage 的哪一個 method? view method 以下的 Laravel example code 的意思是? Example: ``` <?php public function toMail($notifiable) { return (new MailMessage)->view( 'emails.name', ['invoice' => $this->invoice] ); } ``` Answer: 在 notification 的 tiMail() 中, 使用 MailMessage class 的 view(), 以 template 來定義 mail 格式以及內容 ###### tags: `Laravel`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up