Posts Learn Components Snippets Categories Tags Tools About

Conditionally Include Partial Views in Laravel Blade

Learn how to conditionally include your partial views in Laravel to have a better flexibility when loading the views

Created on Jun 28, 2021


Sometimes including partials view in Laravel causes an error because the view doesn't exist. To avoid that you can conditionally load to determine if there are partials to load or if the criteria met the condition.

So instead of using the commonly "include" blade directive like below.
@include('partials.announcement', ['status' => 'complete'])

You can instead make use of "includeIf" directive and when the "announcement" partials exist, they will be imported to the views, otherwise, no partials will be loaded.
@includeIf('partials.announcement', ['status' => 'complete'])

In the case that you want to include the views only on truthy condition then make use of "includeWhen" and specify the boolean condition.
@includeWhen($boolean, '', ['status' => 'complete'])

Otherwise, you can define the inverse condition and define it using "includeUnless" like below.
@includeUnless($boolean, '', ['status' => 'complete'])

If you like our tutorial, do make sure to support us by being our Patreon or buy us some coffee ☕️