thinkphp6入门(15)-- 模型动态构建查询条件
2024-01-07 20:59:07
背景
我使用thinkphp6的模型写数据库查询,有多个where条件,但是不确定是否需要添加某个where条件,怎么才能动态得生成查询
链式查询
在ThinkPHP 6中,可以使用链式查询方法来动态地构建查询条件。可以根据参数的值来决定是否添加where
条件。
下面是一个示例代码,演示了如何根据参数动态地构建查询条件:
<?php
namespace app\controller;
use think\facade\Db;
class Index
{
public function getData($param1, $param2, $param3)
{
$query = Db::name('your_table'); // 指定要查询的表名
if ($param1 !== -1) {
$query->where('column1', $param1); // 添加第一个查询条件
}
if ($param2 !== -1) {
$query->where('column2', $param2); // 添加第二个查询条件
}
if ($param3 !== -1) {
$query->where('column3', $param3); // 添加第三个查询条件
}
$result = $query->select(); // 执行查询并返回结果
return $result;
}
}
如果是使用模型查询
<?php
namespace app\controller;
use think\Model;
class Index extends Model
{
public static function getData($param1, $param2, $param3)
{
$query = self::order('id'); // 开始构建查询,写空where会报错,所以写一个无关紧要的order
if ($param1 !== -1) {
$query->where('column1', $param1); // 添加第一个查询条件
}
if ($param2 !== -1) {
$query->where('column2', $param2); // 添加第二个查询条件
}
if ($param3 !== -1) {
$query->where('column3', $param3); // 添加第三个查询条件
}
$result = $query->select(); // 执行查询并返回结果
return $result;
}
}
这样就可以实现按照条件查询不同类型的用户
by 软件工程小施同学
文章来源:https://blog.csdn.net/u013288190/article/details/135434283
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!