【问题标题】:How to refine the query in Yii?在 Yii 中如何细化查询?
【发布时间】:2014-07-11 08:06:05
【问题描述】:

我有两张桌子:

用户 身份证、姓名、姓氏

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

我这里有一个正在使用的模型用户:

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

但如果我添加 WHERE 或 Like,我需要添加搜索表 User 的“姓名”、“姓氏”的功能, 写一个错误,表UserUser这样的列(名字,姓氏)没有找到? 如何将这两个值相加进行搜索或返回值? 我用的是 Yii2。

【问题讨论】:

  • 你可以使用 mysql 连接

标签: php mysql yii yii2


【解决方案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]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    相关资源
    最近更新 更多