如何在Yii中优化查询?

时间:2014-07-11 08:06:05

标签: php mysql yii yii2

我有两张桌子:

USER id,姓名,姓氏

USERUSER u_id1,u_id2,日期,状态

我这里有一个模型在行动USER:

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

但我需要添加能够搜索表User的'name','surname',如果我添加一个WHERE或Like, 写一个错误,表UserUser这样的列(名称,姓氏)没有找到? 如何将这两个值添加到搜索或返回值? 我使用Yii2。

1 个答案:

答案 0 :(得分: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]);