laravel 모델은 리소스에서 "whenLoaded()" 관계를 사용할 때 지연 로딩이 예외를 발생시키는 것을 방지합니다.
P粉614840363
P粉614840363 2024-01-05 21:36:19
0
1
430

최근에 사용하기 시작했어요 Model::preventLazyLoading() 하지만 관계가 로드되지 않지만 때로는 로드될 수도 있지만 실제로는 오류가 발생합니다

리소스 좋아요 'discount' => $this->whenLoaded('meta', $this->meta->discount ?? 0),

laravel 버전: 9.17.0

P粉614840363
P粉614840363

모든 응답(1)
P粉920835423

Let PHP 在此处解析您的语法。无论如何,它都必须加载 $this->meta,因为当 PHP 解析您的代码时,它优先于 whenLoaded() 메소드.

으아아아

그래서 whenLoaded() 可以采用 closure() 来避免加载关系,除非它们实际上已加载。此方法将在满足 whenLoaded()컨디션 다음에 클로저를 먼저 평가합니다.

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿