查看: 792|回复: 0

thinkphp使用where和whereOr条件查询实例

[复制链接]

748

主题

39

回帖

3907

积分

管理员

总舵主

积分
3907
QQ
发表于 2024-3-13 18:27:57 | 显示全部楼层 |阅读模式
你可以使用where和whereOr结合起来实现这样的查询条件。下面是一个示例代码:

  1. namespace app\index\controller;

  2. use app\index\model\User;
  3. use think\Controller;

  4. class UserController extends Controller
  5. {
  6.     public function index()
  7.     {
  8.         // 创建用户模型对象
  9.         $userModel = new User();

  10.         // 使用 where 和 whereOr 方法构建查询条件
  11.         $result = $userModel->where('status', 1)
  12.                             ->whereOr(function($query) {
  13.                                 $query->where('status', 0)
  14.                                       ->where('area', 1);
  15.                             })
  16.                             ->select();

  17.         // 处理查询结果
  18.         foreach ($result as $user) {
  19.             // 处理每个用户数据
  20.             // 这里只是简单输出,你可以根据需求进行其他处理
  21.             dump($user->getData());
  22.         }
  23.     }
  24. }
复制代码
在这个示例中,我们使用了where方法指定了一个条件(status为1),然后使用了whereOr方法来指定一个OR条件组。whereOr方法接受一个闭包参数,里面可以使用where方法来定义OR条件组中的条件。在这个闭包中,我们设置了两个条件:status为0和area为1。
这样构建的查询条件即为status为1或者status为0且area为1。

道不同,不相为谋!理想要有,万一实现了呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:2513533699@qq.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|鲁ICP备19000917号|鲁公网安备37078302000320号

在本版发帖
关注公众号
QQ客服返回顶部