2014-07-11 44 views
4

我有2個表:如何細化Yii中的查詢?

USER ID,姓名,姓

USERUSER u_id1,u_id2,日期,狀態

我這裏是在行動USER模型:

public function getUsers($status) 
{ 
    return $this->hasMany(UserUser::className(), ['u_id1' => 'id']) 
     ->where(['status' => $status]); 
} 

但我需要添加搜索表'User'的'姓'的能力,如果我添加一個WHERE或Like, 寫一個錯誤,表UserUser這樣的colu mns(姓名)找不到? 如何添加這兩個值來搜索或返回值? 我使用Yii2。

+0

你可以使用mysql連接 –

回答

1
return $this->hasMany(User::className(), ['id' => 'u_id2'])->viaTable(UserUser::tableName(), ['u_id1' => 'id'], 
     function($query) { 
      $query->where(['status' => 1]); 
     })->andWhere(['like', 'name', $input]) 
      ->orWhere(['like', 'last_name', $input]);