순수(지원되지 않는) 열거형을 통한 Laravel 검색
P粉773659687
P粉773659687 2024-02-03 20:19:05
0
1
425

순수 열거형 필드를 통해 데이터베이스에서 검색을 수행하려고 합니다.

으아악

작동하지 않아 오류가 발생합니다 Error Object of class Enum1 Could not be conversion to string.

지원되는 열거형으로 검색하면 작동합니다:

으아악

Model->casts 中,为 Enum1Enum2에서 가치를 제공합니다.

알고 있습니다. Enum1::Case1->name로 검색할 수 있지만 내가 찾고 있는 것은 그게 아닙니다. 가능하다면 적합한 배우를 섭외하고 싶습니다. 이 문제를 처리하는 가장 쉽고 정확한 방법은 무엇입니까?

P粉773659687
P粉773659687

모든 응답(1)
P粉946437474

귀하의 문제는 MySQL이 Enum 필드를 기본적으로 지원하지 않는다는 것입니다.

where 절의 Eloquent는 두 번째 인수가 문자열이나 다른 "공통" 데이터 유형일 것으로 예상합니다.

어쩌면 어느 시점에는 Laravel eloquent가 Enum을 지원할 수도 있지만 현재는 그렇지 않을 것 같습니다.

다음을 사용해도 아무런 문제가 없습니다:

으아악

이 글 여기는 실제로 Enum을 이용하여 DB에 접근하는 방법을 다루고 있으니 꼭 읽어보시기 바랍니다.

결국 열거의 목적은 코드를 더 읽기 쉽게 만드는 것입니다. "관심사 분리" 원칙을 사용하여 코드를 더 읽기 쉽게 만듭니다. 우리는 PHP8이 나오기 전에 상수와 기타 트릭을 사용했습니다

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