수색…
소개
접근 자 및 변형자를 사용하면 모델 인스턴스에서 Eloquent 특성 값을 검색하거나 설정할 때 Eloquent 특성 값의 형식을 지정할 수 있습니다. 예를 들어 Laravel 암호화 프로그램을 사용하여 데이터베이스에 저장된 값을 암호화 한 다음 Eloquent 모델에서 액세스 할 때 자동으로 특성의 암호를 해독 할 수 있습니다. Eloquent는 사용자 정의 액세서 및 변형 자 외에도 날짜 필드를 Carbon 인스턴스로 자동 캐스팅하거나 텍스트 필드를 JSON으로 캐스팅 할 수도 있습니다.
통사론
- set {ATTRIBUTE} 낙타의 경우 속성 ($ attribute) //
액세서 정의
<?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;
뮤 테이터 정의
class User extends Model
{
public function setPasswordAttribute($password)
{
$this->attributes['password'] = bcrypt($password);
}
...
}
위의 코드는 암호 속성이 설정 될 때마다 "bcrypting"을 수행합니다.
$user = $users->first();
$user->password = 'white rabbit'; //laravel calls mutator on background
$user->save(); // password is bcrypted and one does not need to call bcrypt('white rabbit')
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow