You can use the when()
or unless()
methods in your MailMessage notifications to set conditional object properties like a call to action.
class InvoicePaid extends Notification{ public function toMail(User $user) { return (new MailMessage) ->success() ->line('We\'ve received your payment') ->when($user->isOnMonthlyPaymentPlan(), function (MailMessage $message) { $message->action('Save 20% by paying yearly', route('account.billing')); }) ->line('Thank you for using Unlock.sh'); }}
Use the when
or unless
methods in you own classes by using the Illuminate\Support\Traits\Conditionable
trait
Tip given by @Philo01