순수 열거형 필드를 통해 데이터베이스에서 검색을 수행하려고 합니다.
으아악작동하지 않아 오류가 발생합니다 Error Object of class Enum1 Could not be conversion to string.
지원되는 열거형으로 검색하면 작동합니다:
으아악 Model->casts
中,为 Enum1
和 Enum2
에서 가치를 제공합니다.
알고 있습니다. Enum1::Case1->name
로 검색할 수 있지만 내가 찾고 있는 것은 그게 아닙니다. 가능하다면 적합한 배우를 섭외하고 싶습니다.
이 문제를 처리하는 가장 쉽고 정확한 방법은 무엇입니까?
P粉9464374742024-02-04 12:19:52
귀하의 문제는 MySQL이 Enum 필드를 기본적으로 지원하지 않는다는 것입니다.
where 절의 Eloquent는 두 번째 인수가 문자열이나 다른 "공통" 데이터 유형일 것으로 예상합니다.
어쩌면 어느 시점에는 Laravel eloquent가 Enum을 지원할 수도 있지만 현재는 그렇지 않을 것 같습니다.
다음을 사용해도 아무런 문제가 없습니다:
으아악이 글 여기는 실제로 Enum을 이용하여 DB에 접근하는 방법을 다루고 있으니 꼭 읽어보시기 바랍니다.
결국 열거의 목적은 코드를 더 읽기 쉽게 만드는 것입니다. "관심사 분리" 원칙을 사용하여 코드를 더 읽기 쉽게 만듭니다. 우리는 PHP8이 나오기 전에 상수와 기타 트릭을 사용했습니다