laravel 학습 튜 토리 얼 액세스 기
Laravel 은 간단 하고 우아 한 PHP 웹 개발 프레임 워 크 로 개발 자 를 스파게티 코드 에서 해방 시 킬 수 있 습 니 다.간단 하고 우아 하 며 표현 식 문법 을 통 해 좋 은 웹 애플 리 케 이 션 을 개발 할 수 있 습 니 다.다음은 작은 편집 에 따라 laravel 의 액세스 기 를 배 워 보 겠 습 니 다.
Eloquent:액세스 기 안내
접근 기와 메모리 에 서 는 Eloquent 모델 속성 값 을 가 져 오 거나 설정 할 때 포맷 할 수 있 습 니 다.예 를 들 어 하나의 값 이 데이터베이스 에 저장 되 기 전에 Laravel encrypter 를 암호 화하 고 모델 을 통 해 접근 할 때 이 속성 을 자동 으로 복호화 할 수 있 습 니 다.
사용자 정의 접근 기와 메모리 외 에 도 Eloquent 는 날짜 필드 를 Carbon 인 스 턴 스 로 자동 으로 변환 하거나 문자열 필드 를 JSON 으로 변환 할 수 있 습 니 다.
접근 기&접근 기
접근 기 정의
접근 기 를 정의 하기 위해 서 는 모델 에
getFooAttribute
방법 을 만들어 야 합 니 다.그 중Foo
은 방문 해 야 할 열 이름 의 낙타 봉 방식 의 이름 입 니 다.이 예 에서,우 리 는first_name
속성의 접근 기 를 정의 할 것 이다.이 접근 기 는 Eloquent 에서 first_name
속성 값 을 가 져 오 려 고 시도 할 때 활성 화 됩 니 다.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* Get the user's first name.
*
* @param string $value
* @return string
*/
public function getFirstNameAttribute($value)
{
return ucfirst($value);
}
}
보시 다시 피 속성 원본 값 은 접근 기 에 전 달 됩 니 다.원본 값 을 조작 하고 포맷 된 값 을 되 돌려 줍 니 다.간단 한 접근first_name
속성 만 있 으 면 액세스 기 에서 이 값 을 접근 할 수 있 습 니 다:
$user = App\User::find(1);
$firstName = $user->first_name;
메모리 정의메모리 하 나 를 정의 하기 위해 서 는 모델 에
setFooAttribute
방법 을 정의 해 야 합 니 다.그 중Foo
은 방문 하고 자 하 는 열의 낙타 봉 스타일 의 이름 입 니 다.그렇다면 이번 에는first_name
속성 에 대한 메모리 정 의 를 내 립 니 다.이 메모 리 는 모델 이 속성 값 을 설정 하려 고 시도 할 때 호출 됩 니 다.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* Set the user's first name.
*
* @param string $value
* @return string
*/
public function setFirstNameAttribute($value)
{
$this->attributes['first_name'] = strtolower($value);
}
}
저장 소 는 속성 에 설 정 된 값 을 받 습 니 다.이 값 을 조작 하고 모델 내부first_name
속성 에 설정 할 수 있 습 니 다.그래서 예 를 들 어 우리 가$attributes
속성 을first_name
로 설정 하려 고 한다 면:
$user = App\User::find(1);
$user->first_name = 'Sally';
이 예 에서Sally
방법 은 호출 되 고 수반 된다setFirstNameAttribute
.메모리 에 서 는 이름 을 소문 자로 만 든 다음 내부Sally
배열 에 값 을 설정 합 니 다.날짜 접근 기
기본적으로
strtolower
는$attributes
과Eloquent
을created_at
인 스 턴 스 로 전환 합 니 다.이 인 스 턴 스 는 여러 가지 유용 한 방법 을 제공 할 수 있 고 원생 PHPupdated_at
류 를 계승 할 수 있 습 니 다.어떤 필드 를 자동 으로 변환 할 수 있 는 지 사용자 정의 할 수 있 습 니 다.심지어 이러한 변환 을 완전히 사용 하지 않 습 니 다.모델 에 복사
Carbon
속성 이 필요 합 니 다.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* The attributes that should be mutated to dates
*
* @var array
*/
protected $dates = ['created_at', 'updated_at', 'deleted_at'];
}
날짜 로 여 겨 질 때 UNIX 타임 스탬프,날짜 문자열DataTime
,시간 문자열,$dates
인 스 턴 스 로 설정 할 수 있 으 며 날짜 값 은 자동 으로 데이터베이스 에 저 장 됩 니 다.
$user = App\User::find(1);
$user->deleted_at = Carbon::now();
$user->save();
위 에서 말 한 바 와 같이 가 져 온 속성 이Y-m-d
속성 이 열거 한 값 일 때DateTime / Carbon
인 스 턴 스 로 자동 으로 전 환 됩 니 다.이것 은 속성 적 으로$dates
방법 을 사용 할 수 있 습 니 다.
$user = App\User::find(1);
return $user->deleted_at->getTimestamp();
기본적으로 시간 스탬프 는Carbon
형식 으로 포맷 되 었 습 니 다.시간 스탬프 의 형식 을 사용자 정의 하려 면 모델 에 속성Carbon
을 설정 해 야 합 니 다.이 속성 은 날짜 속성 이 데이터베이스 에 어떻게 저장 되 는 지,모델 이 직렬 화 되 거나Y-m-d H:i:s
화 될 때 어떻게 보 여 주 는 지 확인 합 니 다.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Flight extends Model
{
/**
* The storage format of the model's date columns.
*
* @var string
*/
protected $dateFormat = 'U';
}
속성 변환모델 에서 속성 을 정의 할 수 있 습 니 다
$dateFormat
.속성 을 일반적인 데이터 형식 으로 편리 하 게 변환 할 수 있 습 니 다.JSON
속성 은 하나의 배열 이 어야 하 며,각 항목 의 키 는 변환 이 필요 한 속성 명 이 어야 하 며,키 에 대응 하 는 값 은 속성 변환 이 필요 한 유형 이 어야 한다.지원 하 는 전환 유형 은$casts
,$casts
,integer
,real
,float
,double
,string
,boolean
,object
,array
,coolection
와date
입 니 다.예 를 들 어,우 리 는
datetime
속성 을 변환 합 니 다.데이터베이스 에 저 장 된 값 은 하나의 정형(0 또는 1)이 고,우 리 는 그것 을 불 값 으로 변환 합 니 다.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* The attributes that should be casted to native types.
*
* @var array
*/
protected $casts = [
'is_admin' => 'boolean',
];
}
현재,당신 이timestamp
속성 에 접근 할 때마다 그 값 은 불 값 으로 변 환 됩 니 다.설령 데이터베이스 에 저 장 된 정형 값 이 라 하 더 라 도:
$user = App\User::find(1);
if ($user->is_admin) {
//
}
배열 변환 is_admin
변 환 된 유형 은 JSON 값 을 직렬 화 하 는 열 을 저장 하 는 데 특히 유용 하 다.예 를 들 어 데이터베이스 에 TEXT 형식의 필드 가 있 고 직렬 화 된 JSON 이 저 장 됩 니 다.이 속성is_admin
변환 을 추가 하면 Eloquent 모델 에서 이 속성 에 접근 하면 자동 으로 반 직렬 화 됩 니 다.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* The attributes that should be casted to native types.
*
* @var array
*/
protected $casts = [
'options' => 'array'
];
}
전의 정의 가 완료 되면array
속성 에 접근 할 수 있 으 며,JSON 에서 PHP 배열 로 자동 으로 정렬 됩 니 다.array
속성 에 값 을 설정 하면 주어진 배열 은 자동 으로 JSON 형식 으로 정렬 되 어 저 장 됩 니 다.
$user = App\User::find(1);
$options = $user->options;
$options['key'] = 'value';
$user->options = $options;
$user->save();
이상 은 여러분 을 위해 정 리 된 laravel 학습 튜 토리 얼 의 액세스 기의 모든 내용 입 니 다.필요 한 어린이 들 은 참고 하여 공부 할 수 있 습 니 다.어린이 들 은 계속해서 laravel 관련 지식 을 업데이트 할 것 입 니 다.계속 지 켜 봐 주 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.