2017-12-05 4 views
0
public function fields() 
{ 
    return [ 
     'field' => 'field', 
    ]; 
} 

public function extraFields() 
{ 
    return [ 
     'users', 
    ]; 
} 

반환 :설정 extraFields

{ "field": "field", "users": { "id": 1, "name": "user" } } 

방법 ID를 제외하려면?

public function extraFields() 
{ 
    return [ 
     'users' => function($model){ 
      return [ 
       'name' => $model->users->name, 
      ]; 
     } 
    ]; 
} 

반환 :

{ "field": "field", "users": { "name": null } } 

어떻게 올바르게 이름 필드에 입력하는 방법이나 필드 출력 필터링을 사용자 정의?

답변

0

옵션은 사용자 모델에 덮어 쓰기 필드() 메소드가 될 수 있습니다

public function fields() 
{ 
    $fields = parent::fields(); 
    if ($something) { 
     unset($fields['id']); 
    } 

    return $fields; 
} 
+0

사용자 모델은 이미 다음 코드 공공 기능 필드() { 복귀 [ 'ID'=> 'ID를'있다, 'role'=> 'role', 'username'=> 'username', ]; } – surfer

+0

그래서 "id"를 숨기려면 field() 메서드에서 반환하지 마십시오. – TomaszKane