찾다

 >  Q&A  >  본문

순수(지원되지 않는) 열거형을 통한 Laravel 검색

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

으아악

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

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

으아악

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

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

P粉773659687P粉773659687296일 전433

모든 응답(1)나는 대답할 것이다

  • P粉946437474

    P粉9464374742024-02-04 12:19:52

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

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

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

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

    으아악

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

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

    회신하다
    0
  • 취소회신하다