2016-11-23 1 views
1

컨트롤러가 아닌 모델에서 데이터를 확인하고 편집 할 수 있습니까? 예를 들어 이제 Model에서 데이터를 가져와 Controller에서 함께 작업합니다.Laravel 5.2 - 모델 DB에서 데이터 편집

$user = User::select('name','privateflag','lastname')->get(); 
//name = John, privateflag = 1, lastname = Smith 
if ($user->privateflag == 1) {$user->lastname = 'Private';} 
//Pass to View: name = John, lastname = Private 

모델에서 데이터를 확인 및 편집하고 컨트롤러에서 이미 업데이트 된 데이터를받을 수 있습니까?

class User extends ... { 
... 
//Get from DB: name = John, privateflag = 1, lastname = Smith 
if ($user->privateflag == 1) {$user->lastname = 'Private';} 
//Pass to Controller: name = John, lastname = Private 
} 

답변

3

권장되는 방법은 다음과 같이 모델에서 accessors을 사용하는 것입니다 :이처럼

class User extends Model { 
... 
public function getLastNameAttribute() 
{ 
    if ($this->privateflag) { 
     return 'Private'; 
    } 
    return $this->attributes['lastname']; 
} 
+0

감사합니다! 이 데이터를 요청한 Controller에서 함수의 이름을 액세서에 가져올 수 있습니까? – Alex