찾다

 >  Q&A  >  본문

Laravel Eloquent 컬럼 캐스트를 컬렉션으로 업데이트하는 방법

저는 Laravel 10을 사용하고 있습니다.

다음을 통해 JSON 열 변환을 활용합니다.

으아아아

예를 들어 컬렉션의 값을 직접 업데이트하려고 할 때:

으아아아

응답이 없습니다.

변수를 그대로 할당하면 잘 작동합니다.

으아아아

하지만 단일 요소만 업데이트/추가하면 어떻게 되나요?

다음 해결 방법을 찾았지만 이것이 예상된 동작인가요?

으아아아

이 경우에는 직접 할당만 작동하는 것으로 보이며 컬렉션 캐스팅은 쓰기 기능을 전혀 지원하지 않는 것 같습니다.

P粉741678385P粉741678385240일 전454

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

  • P粉019353247

    P粉0193532472024-03-31 00:48:23

    컬렉션으로 변환해 보세요AsCollection

    으아아아

    회신하다
    0
  • P粉668113768

    P粉6681137682024-03-31 00:03:22

    솔루션(Laravel 8.28 이상)

    사용IlluminateDatabase EloquentCastsAsCollection 而不是 'collection'이 필요합니다.

    $casts$casts 数组中,您可以定义各个键的类型。通过指定类型的类(必要时),Laravel 自动处理转换。这就是为什么具体使用 AsCollection::class 배열에서 각 키의 유형을 정의할 수 있습니다. Laravel은 (필요한 경우) 유형의 클래스를 지정하여 자동으로 변환을 처리합니다. 그렇기 때문에 < /a>

    의 구체적인 사용이 필요합니다.
    으아아아 - Laravel API 문서



    솔루션(Laravel 7.x 이하)AsCollection Laravel 8.x 이상에서 기본적으로 사용 가능합니다. 이전 버전의 설정 기능이 필요한 경우 직접 맞춤 캐스트를 생성

    해야 합니다.

    'array'또는

    배우:
    를 사용할 수도 있습니다. 으아아아
      더 많은 정보
    • 사용자 정의 변환을 수행하는 방법
    - Laravel 문서(7.x)🎜 🎜

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