不同的业务场景,会需要不同的数据内容,在使用tp5框架进行开发生产的时候,会面临各种各样的数据组合,在我们使用内置的数据库查询类进行编写查询语句的时候,有很多不常用的查询链式操作不知道怎么写,今天就简单的记录一下
首先就是最常用的基本链式查询
在TP5中,链式查询是一种常用的查询方式,它允许你在一个查询中连续使用多个查询方法。以下是TP5中链式查询的常用方式:
使用where方法进行条件筛选:
$result = Db::table('table_name')
->where('column1', '=', $value1)
->where('column2', '=', $value2)
->select();
这里是针对固定的查询提交进行查询,但是常常有很多的查询条件是根据前台的传参来制定查询条件的,这里的话就没有办法这样写where条件了, 所以我们这里会用到制定条件数组$where来进行复杂的查询操作
我们可以使用数组方式批量设置查询条件
$where = [
['column1', '=', $value1],
['column2', '=', $value2]
];
$result = Db::table('table_name')
->where($where)
->select();
在这个例子中,$where 是一个包含多个查询条件的数组。每个条件是一个包含三个元素的数组,第一个元素是列名,第二个元素是比较运算符,第三个元素是比较值。然后,通过 where 方法将这个数组作为查询条件传入查询中。
还有一些特殊操作,例如批量查询条件中筛选是null的或者不是null的,这种特殊的查询写起来就更加的复杂一些,我们通过exp来实现is null的查询条件
$where['field_name'] = array('exp','is null');
通过这种写法就可以组合查询其他的条件来获取我们需要的查询结果