加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在Yii中优化查询?

发布时间:2020-12-13 22:53:04 所属栏目:PHP教程 来源:网络整理
导读:我有2张桌子: 用户 id,姓名,姓氏 USERUSER u_id1,u_id2,日期,状态 我这里有一个模型在行动USER: public function getUsers($status){ return $this-hasMany(UserUser::className(),['u_id1' = 'id']) -where(['status' = $status]);} 但我需要添加搜索表Us
我有2张桌子:

用户
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.

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读