2017-05-12 7 views
0

내 모델에서 나는 tableName을 데이터베이스로 설정했습니다. 나는 모델이라고 $의 전체 이름의 새로운 속성을 생성과 같이 내 afterFind 기능에서 다른 테이블/모델과 결합하여 정의 : 나는이 모델 속성을 사용하는 방법을 알아 내려고 노력하고 있어요Yii2 - 모델 속성을 사용하는 Gridview 정렬

public function afterFind() 
{ 
    parent::afterFind(); 

    $temp = Yii::$app->db->createCommand("select last_name || ', ' || first_name as fullname from employees where EMP_ID = :emp_id"); 
    $temp->bindValues([':emp_id' => $this->EMP_ID]); 
    $this->fullname = $temp->queryColumn()[0]; 
} 

내 이 fullname 특성으로 정렬하려면 gridview.

나는

을 시도
$dataProvider->setSort([ 
    'attributes' => [ 
     'fullname' => [ 
      'asc' => ['fullname' => SORT_ASC], 
      'desc' => ['fullname' => SORT_DESC], 
      'label' => 'Full Name', 
      'default' => SORT_ASC 
     ] 
    ] 
    ]); 
나는이 속성 또는이 솔루션에 대한 대안을 기준으로 정렬 할 수있는 방법

사람이 말해 줄래?

답변

0

이를 사용할 수 있습니다

$dataProvider->sort->attributes['fullname'] = [ 
    'asc' => ['first_name' => SORT_ASC, 'last_name' => SORT_ASC], 
    'desc' => ['first_name' => SORT_DESC, 'last_name' => SORT_DESC], 
    'default' => SORT_ASC 
];