thinkphp5.1 解决查询后不清空条件

今天使用tp5.1 开发网站,发现在第一次查询后后面的查询还携带者第一次的参数,这就搞不懂了,看了手册后,发现tp5.1 引入了一个新的操作 链式操作

今天使用tp5.1 开发网站,发现在第一次查询后后面的查询还携带者第一次的参数,这就搞不懂了,看了手册后,发现tp5.1 引入了一个新的操作 链式操作

数据库提供的链式操作方法,可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作(原生查询不支持链式操作)。具体可以看官方手册https://www.kancloud.cn/manual/thinkphp5_1/354005

每次Db类的静态方法调用是创建一个新的查询对象实例,如果你需要多次复用使用链式操作值,可以使用下面的方法。

$user = Db::table('think_user');
$user->order('create_time')
    ->where('status',1)
    ->select();
    
// 会自动带上前面的where条件和order排序的值    
$user->where('id', '>', 0)->select();   

当前查询对象在查询之后仍然会保留链式操作的值,除非你调用removeOption方法清空链式操作的值。

$user = Db::table('think_user');
$user->order('create_time')
    ->where('status',1)
    ->select();
    
// 清空where查询条件值 保留其它链式操作   
$user->removeOption('where')
	->where('id', '>', 0)
    ->select();    

以上这篇thinkphp5.1 解决查询后不清空条件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持芦苇派。

原创文章,作者:ECHO陈文,如若转载,请注明出处:https://www.luweipai.cn/php/1620702174/