ホームページ  >  に質問  >  本文

laravel モデルは、リソースで「whenLoaded()」関係を使用するときに遅延ロードが例外をスローするのを防ぎます

最近 Model::preventLazyLoading() を使い始めました ただし、関係がロードされていない場合でも、ロードされている可能性がある場合でも、実際にはエラーがスローされます

同様のリソース 'discount' => $this->whenLoaded('meta', $this->meta->discount ?? 0),

laravel バージョン: 9.17.0

P粉614840363P粉614840363311日前408

全員に返信(1)返信します

  • P粉920835423

    P粉9208354232024-01-06 11:06:13

    ここで PHP に構文を解析させます。 PHP がコードを解析するとき、whenLoaded() メソッドよりも優先されるため、とにかく $this->meta をロードする必要があります。

    リーリー

    これが、実際にロードされない限り関係のロードを回避するために whenLoaded() を使用できる理由です。このメソッドは、whenLoaded() 条件が満たされた後、最初にクロージャを評価します。 リーリー

    返事
    0
  • キャンセル返事