ホームページ  >  記事  >  バックエンド開発  >  Laravelで関連モデルの存在を確認するにはどうすればよいですか?

Laravelで関連モデルの存在を確認するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-05 17:42:02563ブラウズ

How to Check for the Existence of a Related Model in Laravel?

Laravel: 関連モデルの存在の確認

リレーションシップを使用して Laravel モデルを構築する場合、関連モデルの存在を判断することが重要です更新と作成を処理するため。関連モデルが最初は存在しない可能性があるシナリオでは、その存在を確認する必要があります。

PHP 7.2 以降のソリューション:

PHP 7.2 以降では、簡単な解決策は、関係オブジェクトでexists()メソッドを利用することです:

<code class="php">$model->relation()->exists();</code>

PHP 7.2より前の一般的な解決策:

PHP 7.2より前のバージョンの場合すべての関係タイプに適用できる一般的な解決策が存在します:

<code class="php">if (count($model->relation))
{
  // exists
}</code>

評価の理解:

  • 単一関係:関連モデルが存在する場合、count() は 1 (true) を返します。存在しない場合、count() は 0 (false) を返します。
  • 対多関係: 関連するモデルがない場合、count() は 0 (false) を返します。存在しないコレクション。関連するモデルがある場合、count() はモデルの数に関係なく、正の整数 (true) を返します。

使用例:

このシナリオでは、次のコードを使用してオプション モデルの存在を確認できます:

<code class="php">if (Input::has('option')) {
    if ($model->option()->exists()) {
        // update option
    } else {
       // create option
    }
};</code>

以上がLaravelで関連モデルの存在を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。