Development Tip

Eloquent의 기본 기본 키 변경

yourdevel 2020. 10. 13. 19:29
반응형

Eloquent의 기본 기본 키 변경


Eloquent 모델 기본 키를 변경할 수 있습니다.

예를 들어 admin_id'id'대신 기본 키를 설정하고 싶습니다 .

다음과 같은 모델의 테이블 이름을 변경할 수 있다는 것을 알고 있습니다.

protected $table = "admin";

기본 키와 비슷한 것이 있습니까?


class User extends Eloquent {

    protected $primaryKey = 'admin_id';

}

class User extends Eloquent {

    protected $primarykey = 'admin_id';

}

그러나

class User extends Eloquent {

    protected $primaryKey = 'admin_id';

}

$ primaryKey 변수의 문자 K (대문자)에 유의하십시오.


기본 키 변수는 대소 문자를 구분하며 $primaryKey작동 해야합니다 .

예:

protected $primaryKey = 'your_primary_key_id';

모델 클래스 내의 예 :

class User extends Eloquent {

    protected $primaryKey = 'your_primary_key_id';

}

class User extends Eloquent {

    protected $primaryKey = 'admin_id';

}

Laravel 문서에 따라 :


Eloquent는 또한 각 테이블에라는 기본 키 열이 있다고 가정합니다 id. $primaryKey이 규칙을 재정의하기 위해 속성을 정의 할 수 있습니다 .

또한 Eloquent는 기본 키가 증가하는 정수 값이라고 가정합니다. 이는 기본적으로 기본 키가 자동으로 int로 캐스트된다는 것을 의미합니다. 비 증가 또는 숫자가 아닌 기본 키를 사용하려면 $incrementing모델 의 공용 속성을 false로 설정해야합니다 .


복합 키 (문자열)를 사용하려는 경우

당신은 당신이 설정 확인해야 public $incrementing = false주는 laravel는 정수에 필드를 주조한다, 그렇지 않으면0

class User extends Model {

    protected $primaryKey = 'my_string_key';
    public $timestamp = false;

}

기본 키를 할당하려면 ..->

class User extends Eloquent {

    protected $primaryKey='admin_id';

 }

참고 URL : https://stackoverflow.com/questions/20030716/change-default-primary-key-in-eloquent

반응형