Laravel Eloquent 컬럼 캐스트를 컬렉션으로 업데이트하는 방법
P粉741678385
P粉741678385 2024-03-30 09:54:00
0
2
493

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

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

으아아아

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

으아아아

응답이 없습니다.

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

으아아아

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

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

으아아아

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

P粉741678385
P粉741678385

모든 응답(2)
P粉019353247

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

으아아아
P粉668113768

솔루션(Laravel 8.28 이상)

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

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

의 구체적인 사용이 필요합니다.
으아아아
    더 많은 정보
  • 속성 변환(변환 목록)
  • - Laravel 문서(10.x)
  • 배열, 객체 및 컬렉션 변환
  • - Laravel 문서(10.x)
  • Laravel 8에 새로운 전환 기능이 추가되었습니다
  • - Laravel News AsCollection::class
- Laravel API 문서



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

해야 합니다.

'array'또는

배우:
를 사용할 수도 있습니다. 으아아아
    더 많은 정보
  • 사용자 정의 변환을 수행하는 방법
- Laravel 문서(7.x)🎜 🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿