Laravel 5.2: 사용자 정의 기본 키 변환 문제
Laravel 5.2의 Eloquent ORM에서 문자열을 사용자 정의 기본 키로 활용하는 경우, 에서 검색할 때 키 값이 0으로 변환되는 문제가 발생할 수 있습니다. 데이터베이스.
설명:
Laravel은 데이터베이스 열 유형과 일치하도록 속성 값을 자동으로 캐스팅합니다. 기본적으로 자동 증가 기본 키는 정수로 간주됩니다. 하지만 이 경우 문자열을 기본 키로 사용하므로 값이 잘못 변환됩니다.
해결책:
이 문제를 해결하려면, 기본 키가 문자열이고 자동으로 증가되지 않도록 명시적으로 지정해야 합니다. 이렇게 하려면 모델에 다음 코드를 추가하세요.
protected $primaryKey = 'your_key_name'; public $incrementing = false;
'your_key_name'을 기본 키 열의 실제 이름으로 바꿔야 합니다.
추가 설명:
Laravel 6.0 이상에서는 $keyType 속성을 다음과 같이 설정해야 합니다. 'string':
protected $keyType = 'string';
이는 기본 키가 문자열임을 명시적으로 지정하고 잠재적인 유형 변환을 방지합니다.
이 솔루션을 구현하면 문자열을 사용자 정의로 사용할 수 있습니다. 변환 문제 없이 Laravel Eloquent 모델의 기본 키를 사용할 수 있습니다.
위 내용은 Laravel 5.2: 문자열 기본 키가 0으로 변환되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!