admin 发表于 2024-3-13 18:27:57

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

你可以使用where和whereOr结合起来实现这样的查询条件。下面是一个示例代码:

namespace app\index\controller;

use app\index\model\User;
use think\Controller;

class UserController extends Controller
{
    public function index()
    {
      // 创建用户模型对象
      $userModel = new User();

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

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