수색…


소개

접근 자 및 변형자를 사용하면 모델 인스턴스에서 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