Ich habe vor kurzem angefangen, Model::preventLazyLoading()
zu verwenden
Aber auch wenn die Beziehung nicht geladen wird, was manchmal der Fall sein könnte, wird tatsächlich ein Fehler ausgegeben
Gefällt mir Ressourcen 'discount' => $this->whenLoaded('meta', $this->meta->discount ?? 0),
Laravel-Version: 9.17.0
让
PHP
在此处解析您的语法。无论如何,它都必须加载$this->meta
,因为当PHP
解析您的代码时,它优先于whenLoaded()
方法.这就是为什么
whenLoaded()
可以采用closure()
来避免加载关系,除非它们实际上已加载。此方法将在满足whenLoaded()
条件后首先评估闭包。