yii2.0 中数据查询中 or、in、between 及session的使用

复制代码
 1 HTML:
 2 
 3 <div>
 4     <form class="form-inline " method="get" action="<?=Url::to(['companylist']);?>">
 5         <div class="form-group">
 6             <input type="text" name="name" style="width: 80%; display:inline;" class="form-control input-sm" placeholder="配电室编号 或 配电室名称" value="<?=$_GET['name'];?>">
 7             <button type="submit" style="float: right" class="btn btn-primary btn-sm">查询</button>
 8         </div>
 9     </form>
10 </div> 
11 控制器的查询条件:
12 $data = Concentrator::find()->andWhere(['in', 'id', $cIds]);
13 if ($_GET['name']) {
14     $data->andWhere(['or', ['like', 'number', $_GET['name']], ['like', 'name', $_GET['name']]]);
15 }
16 //in
17 $data->andWhere(['in', 'state', [1, 2, 3]]);
18 //between
19 $data->andFilterWhere(['between', 'create_time', $start_date, $end_date]);
20 $rowset = $data->all();
21  echo $data->createCommand()->getRawSql(); //输出sql语句
复制代码

 

复制代码
 1 ['and', 'id=1', 'id=2'] //id=1 AND id=2
 2 
 3 ['and', 'type=1', ['or', 'id=1', 'id=2']] //type=1 AND (id=1 OR id=2)
 4 
 5 ['between', 'id', 1, 10] //id BETWEEN 1 AND 10
 6 
 7 ['not between', 'id', 1, 10] //not id BETWEEN 1 AND 10
 8 
 9 ['in', 'id', [1, 2, 3]] //id IN (1, 2, 3)
10 
11 ['not in', 'id', [1, 2, 3]] //not id IN (1, 2, 3)
12 
13 ['like', 'name', 'tester'] //name LIKE '%tester%'
14 
15 ['like', 'name', ['test', 'sample']] //name LIKE '%test%' AND name LIKE '%sample%'
16 
17 ['not like', 'name', ['or', 'test', 'sample']] //not name LIKE '%test%' OR not name LIKE '%sample%'
18 
19 ['like', 'name', '%tester', false] // name LIKE '%tester'
20 
21 ['exists','id', $userQuery] //EXISTS (sub-query) | not exists
22 
23 ['>', 'age', 10] //age>10
24 where(['<>','id',10])  //不等于
复制代码

 

session:
$session = Yii::$app->session;
$session['user'] = [
    'id' => 1,
    'username' => 'yiiuser',
];
echo $session['user']['id'];
echo $session['user']['username'];

 

posted @   py卡卡  阅读(2015)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示