Laravel 8에서 기본 키 및 타임 스탬프 변경

원래 게시된 @https://codeanddeploy.com 방문하여 샘플 코드 다운로드: https://codeanddeploy.com/blog/laravel/change-primary-key-and-timestamps-in-laravel-8

기본적으로 eloquent는 각 모델에 id라는 기본 키 열이 있다고 가정합니다. 그러나 고유한 사용자 지정 열 이름으로 기본 키를 변경해야 하는 경우 모델에서 보호된 $primaryKey 속성을 사용하여 변경할 수 있습니다.

아래 예를 참조하십시오.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Employee extends Model
{
    /**
     * The primary key associated with the table.
     *
     * @var string
     */
    protected $primaryKey = 'employee_id';
}


또한 Eloquent는 기본 키가 자동 증가 정수라고 가정합니다. 그러나 기본 키가 UUID를 사용하는 것처럼 자동 증가하지 않으면 Eloquent $incrementing 속성을 false로 변경해야 합니다.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Employee extends Model
{
    /**
     * The primary key associated with the table.
     *
     * @var string
     */
    protected $primaryKey = 'employee_id';

    /**
     * Indicates if the model's ID is auto-incrementing.
     *
     * @var bool
     */
    public $incrementing = false;
}


기본적으로 Eloquent는 테이블에 created_at 및 updated_at 열이 있다고 가정합니다. 그러나 Eloquent에서 이를 관리하지 않으려면 모델의 $timestamps 속성을 false로 설정하십시오.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Employee extends Model
{
    /**
     * Indicates if the model should be timestamped.
     *
     * @var bool
     */
    public $timestamps = false;
}


프로젝트 데이터베이스가 이전에 다른 프레임워크를 사용한 경우. Laravel 프레임워크를 사용하고 싶다면 다행히도 우리는 created_at 및 updated_at 열의 이름을 바꿀 필요가 없습니다. 모델에 대한 현재 열 이름으로 정의하기만 하면 됩니다.

아래 예를 참조하십시오.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Employee extends Model
{
    const CREATED_AT = 'last_created';
    const UPDATED_AT = 'last_updated';
}


이제 Laravel 모델 기본 키와 타임스탬프를 변경하는 방법에 대한 아이디어가 이미 있습니다. 이 튜토리얼이 도움이 되었으면 합니다. 이 코드를 다운로드하려면 여기https://codeanddeploy.com/blog/laravel/change-primary-key-and-timestamps-in-laravel-8를 방문하십시오.

행복한 코딩 :)

좋은 웹페이지 즐겨찾기