{category}

Laravel - 制御構造

@empty

アットエンプティ(ビューとBlade

意味 @forelseで配列が空の場合の処理


@emptyとは?

@emptyは、Laravelのビューで使用されるBladeディレクティブの一つです。@forelseディレクティブと組み合わせて使用され、配列やコレクションが空の場合に実行される代替処理を定義します。これにより、データがない場合の表示を簡単に制御できます。

@emptyの具体的な使い方

コメントリストの表示と空チェック

@php
$comments = []; // 空の配列をテスト
@endphp

<h2>コメント一覧</h2>
@forelse ($comments as $comment)
    <div class="comment">
        <p>{{ $comment['content'] }}</p>
        <small>投稿者: {{ $comment['author'] }}</small>
    </div>
@empty
    <p>まだコメントはありません。最初のコメントを投稿してみましょう!</p>
    <button>コメントを書く</button>
@endforelse

👇出力結果

<h2>コメント一覧</h2>
<p>まだコメントはありません。最初のコメントを投稿してみましょう!</p>
<button>コメントを書く</button>

この例では、記事のコメントリストを表示しています。コメントがある場合は各コメントの内容と投稿者を表示し、コメントがない場合は@emptyブロック内でコメント投稿を促すメッセージとボタンを表示します。

検索結果の表示と空チェック

@php
$searchResults = [
    ['title' => 'Laravel入門', 'url' => '/articles/laravel-intro'],
    ['title' => 'Bladeテンプレートの使い方', 'url' => '/articles/blade-templates']
];
@endphp

<h2>検索結果</h2>
@forelse ($searchResults as $result)
    <div class="search-result">
        <a href="{{ $result['url'] }}">{{ $result['title'] }}</a>
    </div>
@empty
    <p>検索結果が見つかりませんでした。</p>
    <ul>
        <li>別のキーワードで試してみてください。</li>
        <li>より一般的な用語を使用してみてください。</li>
        <li>スペルミスがないか確認してください。</li>
    </ul>
@endforelse

👇出力結果

<h2>検索結果</h2>
<div class="search-result">
    <a href="/articles/laravel-intro">Laravel入門</a>
</div>
<div class="search-result">
    <a href="/articles/blade-templates">Bladeテンプレートの使い方</a>
</div>

この例では、検索結果を表示しています。結果がある場合は各結果のタイトルとURLをリンクとして表示し、結果がない場合は@emptyブロック内で代替のメッセージと検索のヒントを表示します。

@emptyに関するよくある質問

Q. @emptyは単独で使えますか?
A. いいえ、@emptyは@forelseディレクティブと組み合わせて使用する必要があります。単独では機能しません。
Q. @emptyの後に複数行のコードを書けますか?
A. はい、@emptyの後には複数行のHTMLやPHPコードを記述できます。これらは配列が空の場合にのみ実行されます。
Q. @emptyと@elseの違いは何ですか?
A. @emptyは@forelseディレクティブの一部で、配列が空の場合の処理を指定します。@elseは一般的な条件分岐で、if文の条件が偽の場合の処理を指定します。用途が異なります。

Laravelの@emptyについても学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Laravelの@emptyや@once、@parent、@endsection、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Laravelを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Laravelはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

@once

一度だけ実行するコード

種類: その他

@parent

親の内容を表示する

種類: レイアウトとコンポーネント

@endsection

セクションの終了を示す

種類: レイアウトとコンポーネント

php artisan make:notification

新しい通知クラスを作成

種類: 通知

$request->ip()

クライアントのIPアドレス取得

種類: リクエスト処理