yii where查询

本文介绍了在Yii框架中如何进行复杂的多条件数据库查询,包括使用子查询来获取特定学校的学生信息,以及如何通过组合where()、andwhere()等方法实现多表关联查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Org班级表:对应的字段有   schoolId (学校id) 、id(主键 班级id) 、

OrgMember 班级成员表:  orgId(班级id) 、memberId(班级成员id)、

子查询:查询学校为1的所有学生。(并且以属组的形式存在)

$memberIds = OrgMember::find()

                    ->where([
                        'orgId' => Org::find()
                            ->where(['schoolId' => 1])
                            ->select('id')
                    ])
                    ->asArray()

                    ->all();


多条件查询:

SchoolNews::find()->where(['memberId' => $this->clientUser['id']])
                            ->andwhere([
                                'orgId' => OrgMember::find()
                                    ->where(['memberId' => $this->clientUser['id']])
                                    ->select('orgId')
                            ])
                            ->andWhere([
                                'schoolId' => Org::find()
                                    ->where([
                                        'id' => OrgMember::find()
                                            ->where(['memberId'=>$this->clientUser['id']])
                                            ->select('orgId')
                                    ])
                                    ->select('schoolId')

                            ])

yii中多条件查询用 where() 、andwhere() 、 在tp中使用 where、where、然后在yii中,若使用where()->where() 第二个where会覆盖第一个where。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值