表达式查询
可以使用多个 where() 子句连接在一起
<?php
/**
* 链式操作 where
* name:不含表名前缀
* table:可以含有表前缀
*/
// 多个 where() 连用
public function fun1()
{
$data = Db::name('wh_record')
->where('IDX', '>', 80000)
->where('UNIT', '=', 2)
->where('status', '=', '归还')
->select();
return json($data);
}
// name方法替换table方法
public function fun2()
{
$data = Db::table('wh_record')
->where('IDX', '>', 80000)
->where('UNIT', '=', 2)
->where('status', '=', '归还')
->select();
return json($data);
}
数组条件
也可以将条件设置为一个数组,然后传递给 where()
<?php
// 将所有条件设置为数组
public function fun3()
{
$data = Db::table('wh_record')
->where([
'UNIT' => 2,
'STATUS' => '归还'
])
->where('IDX', '>', 80000)
->select();
return json($data);
}
支持IN 条件
<?php
// IN 条件
public function fun4()
{
$data = Db::table('wh_record')->where([
'UNIT' => 2,
'STATUS' => ['归还', '借出'],
])->select();
return json($data);
}
索引数组
<?php
// 索引数组
public function fun5()
{
$data = Db::table('wh_record')->where([
['IDX', '>', 10000],
['UNIT', '=', 2],
['STATUS', 'IN', ['归还', '借出']],
])->select();
return json($data);
}
字符串条件
注意单引号的转义
<?php
/**
* 字符串条件
*/
// 字符串操作,注意转义字符
public function fun6()
{
$data = Db::table('wh_record')
->where('IDX > 10000 AND STATUS IN (\'归还\', \'借出\') AND UNIT = 2')
->select();
return json($data);
}
字符串预处理
<?php
// 字符串配合与处理机制
public function fun7()
{
$IDX = 10000;
$UNIT = 2;
$data = Db::table('wh_record')
->where("IDX>:IDX AND UNIT=:UNIT",
['IDX' => $IDX , 'UNIT' => $UNIT, ])
->select();
return json($data);
}