필드 서식은 데이터베이스 테이블에서 필드를 변환하거나 처리하여 특정 서식 요구 사항을 충족합니다. Laravel 프레임 워크에서는 모델의 필드 유형 변환 방법을 사용하여 필드 형식을 구현할 수 있습니다.
Laravel은 모델 필드를 지정된 데이터 유형으로 변환하는 강력한 $ Casts 속성을 제공합니다. 모델에서 $ casts 속성을 정의하면 데이터베이스의 필드를 필요한 데이터 유형으로 자동 변환 할 수 있습니다.
$casts = [
'birthday' => 'date:Y-m-d',
'enabled' => 'boolean',
];
// 변환 된 필드를 사용하십시오
echo $model->birthday; // 산출 2022-01-01
echo $model->enabled; // 산출 true
위의 코드 예제에서 생일 필드는 날짜 형식 'YM-D'로 변환되며 활성화 된 필드는 부울 유형으로 변환됩니다.
유형 변환에 기본 $ Casts 속성을 사용하는 것 외에도 Laravel은 사용자 정의 액세서 및 수정자를 통해보다 복잡한 필드 변환을 허용합니다.
액세서를 사용하면 필드 값을 얻을 때 사용자 정의 처리를 수행 할 수 있습니다. 예를 들어 날짜 필드를 특정 문자열 양식으로 포맷 할 수 있습니다.
public function getBirthdayAttribute($value)
{
return date('Y년도m달d낮', strtotime($value));
}
// 액세서를 사용합니다
echo $model->birthday; // 산출 2022년도01달01낮
위의 코드는 GetBirthDayAttribute 방법에 의해 생일 필드를 'y 년 M Month D Day'형태로 형식화합니다.
수정자는 데이터를 저장하기 전에 필드 값을 처리하는 데 사용됩니다. 예를 들어, 문자열 날짜 형식을 데이터베이스에서 요구하는 표준 날짜 형식으로 변환 할 수 있습니다.
public function setBirthdayAttribute($value)
{
$this->attributes['birthday'] = date('Y-m-d', strtotime($value));
}
// 수정자를 사용하십시오
$model->birthday = '2022년도01달01낮';
$model->save();
위의 코드는 SetBirthDayAttribute 메소드를 통해 생일 필드의 값을 'YMD'형식으로 변경하여 데이터베이스에 저장합니다.
실제 개발에서는 프로젝트의 요구를 충족시키는 날짜 형식을 충족시키기 위해 날짜 필드를 형식화해야합니다. Laravel은 날짜 필드 형식을 변환하는 편리한 방법을 제공합니다.
$casts = [
'birthday' => 'date:Y-m-d',
];
public function getBirthdayAttribute($value)
{
return date('Y년도m달d낮', strtotime($value));
}
public function setBirthdayAttribute($value)
{
$this->attributes['birthday'] = date('Y-m-d', strtotime($value));
}
위의 코드는 먼저 생일 필드의 데이터 유형을 날짜 형식 'ym-d'로 변환 한 다음 액세서와 수정자를 사용하여 날짜를 형식화합니다.
데이터베이스에서 일부 필드는 부울 값을 나타내는 정수 (0 또는 1)로 정의 될 수 있습니다. 그러나 비즈니스 로직에서는 부울 값을 직접 사용하고 싶습니다. 캐스트 유형의 필드 유형을 부울로 설정하여 자동 변환을 달성 할 수 있습니다.
$casts = [
'enabled' => 'boolean',
];
위의 코드는 활성화 된 필드의 데이터 유형을 부울 유형으로 변환하고 정수 값 (0 또는 1)을 부울 값 (true 또는 false)으로 자동 변환합니다.
날짜 및 부울 유형의 형식 외에도 액세서와 수정자를 통해 다른 유형의 필드를 변환 할 수도 있습니다. 예를 들어, 숫자 유형 필드를 양 형식으로 변환하거나 백분율 형식으로 변환하십시오.
public function getAmountAttribute($value)
{
return number_format($value, 2);
}
public function setAmountAttribute($value)
{
$this->attributes['amount'] = str_replace(',', '', $value);
}
위의 코드에서는 액세서를 사용하여 금액 필드를 양 형식 (두 자리 자리를 보존)으로 형식화하고 수정자를 통해 금 형식의 값을 일반 숫자 형식으로 변환합니다.
필드 서식은 Laravel의 중요한 기능으로 프로젝트 요구 사항에 따라 모델 필드를 유연하게 처리하고 제시 할 수 있습니다. 이 기사에 설명 된 필드 유형 변환 방법을 통해 날짜 서식, 부울 유형 변환 및 기타 사용자 정의 필드 형식 작업을 쉽게 처리 할 수 있습니다. 이러한 기술을 마스터하면 개발 프로세스에서보다 효율적이고 편리 할 수 있습니다.