Set conditional object properties

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

Like our articles?

Become a Premium Member for $129/year or $29/month
What else you will get:
  • 59 courses (1057 lessons, total 42 h 44 min)
  • 79 long-form tutorials (one new every week)
  • access to project repositories
  • access to private Discord

Recent Premium Tutorials