我有2张 table :

用户
身份证、姓名、姓氏

用户用户
u_id1、u_id2、日期、状态

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

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

但是我需要添加搜索表用户的“姓名”、“姓氏”的功能,如果我添加一个 WHERE 或 Like,
写入错误,表 UserUser 这样的列(姓名,姓氏)未找到?
我如何添加这两个值来搜索或返回值?
我使用 Yii2。

最佳答案

    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]);

关于php - 如何在 Yii 中优化查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24692918/

10-11 00:34