tp5 中 model 的查询方法

实例化模型后调用查询方法,可以写任何想要的查询(推荐)

 public function select(){
        $user = model(‘User‘);
        $data = $user -> where(‘status‘,1)
            ->limit(10)
            ->order(‘id‘,‘desc‘)
            ->select();
        dump($data);    // 模型的all方法或者select方法返回的是一个包含模型对象的二维数组或者数据集对象

    }

获取单个数据[get()和find()]

 public function select(){
     $data = UserModel::get(1)->toArray();   // toArray()将查询结果转化为数组
     dump($data);
}
public function select(){
    $data = UserModel::get([‘name‘=>‘thinkphp‘])->toJson();   // toArray()将查询结果转化为json
    dump($data);
}

获取多个数据

// all()方法 + id
   public function select(){
        $user = model(‘User‘);
        $data = $user::all([1,2,3]);
        dump($data);
    }
// all() 方法 + 条件
    public function select(){
        $user = model(‘User‘);
        $data = $user::all([‘status‘=>1]);
        dump($data);
    }
// 闭包查询
    public function select(){
        $user = model(‘User‘);
        $data = $user::all(function($query){
            $query-> where(‘status‘,1)
                ->limit(3)
                ->order(‘id‘,‘desc‘);
        });
        dump($data);
    }

获取某个字段的值value()

// value() 方法
public function select(){
        $user = model(‘User‘);
        $data = $user::where(‘id‘,1)->value(‘email‘);
        dump($data);    // 得到一个字符串
    }

获取某个列的值 column()

public function select(){
        $user = model(‘User‘);
        $data = $user::where(‘status‘,1)->column(‘email‘);
        dump($data);    // 得到一个正常的一维数组
    }
    // 以id为索引
public function select(){
        $user = model(‘User‘);
        $data = $user::where(‘status‘,1)->column(‘email‘,‘id‘);
        dump($data);
    }
时间: 2024-10-25 20:37:55

tp5 中 model 的查询方法的相关文章

tp5 中 model 的删除方法

根据主键删除(推荐) use app\index\model\User as UserModel; public function delete(){ UserModel::destroy([1,2,3]); // 删除主键为1,2,3的数据 } 根据条件删除(推荐) public function delete(){ UserModel::destroy(['status'=>0]); // 删除所有status=0的数据 } 闭包删除 public function delete(){ Us

tp5 中 model 的更新方法

// 过滤非数据表字段更新 public function update(Request $request){ $user = model('User'); $result = $user -> allowField(true)->save($request->param(),['id'=>1]); dump($result); // 受影响的行数 } //更新指定字段 public function update(Request $request){ $user = model(

tp5 中 model 的获取器

在获取数据的字段值后自动进行处理 // 模型中写入如下代码,则查询结果会自动将status的结果进行转换 class User extends Model { public function getStatusAttr($value){ $status = [-1=>'删除',0=>'禁用',1=>'正常',2=>'待审核']; return $status[$value]; } } class User extends Controller { public function s

Move Find into Model 将查询方法从控制器上移至模型

class TaskController < ApplicationController def index @tasks = Task.find_all_by_complete(:false, :order => "created_at DESC") end end 这段代码的意思是查询所有未完成的任务并按照创建的时间先后排序.如果控制器中有好多个地方要用到,那么我们可以将这个方法抽出来放到模型中,用到的时候 @tasks = Task.find_incomplete来调

ADF中VO的查询方法比较

getRowCount(),getQueryHitCount(oracle.jbo.server.ViewRowSetImpl),getEstimatedRangePageCount,getCappedQueryHitCount(oracle.jbo.server.ViewRowSetImpl p1, oracle.jbo.Row[] p2, long p3, long p4)的比较这四个方法都是VO中查询行数据的方法: 1.getRowCount():这个方法每次执行的时候都会从首先数据库执行

ThinkPHP中的like查询方法

方法一:$carrymodel = D(“Carry”);$condition["FromAddress"] = array(“like”, “%”.$rname);$condition["ToAddress"] = array(“like”, “%”.$rname);$carryrecord = $carrymodel->where($condition)->findAll(); 方法二:$model = new Model();$carryrecor

jQuery中几个查询方法的区别和联系

以下匹配的是同级元素(深度N为0). next:匹配的是 "下一个同辈" 的,再次强调是"一个,同辈".与之相对的prev,查找最近的同辈元素的一个元素. nextAll:匹配的是"所有的同辈",所有.同辈.与之相对的是prevAll. prev:与next相反. prevAll:与nextAll相反. Demo如下: 待补充 以下匹配的是非同级元素(深度N>=1) parent:父亲元素(N=1) parents:祖代元素(N>=1

【转】Spring中常用的hql查询方法(getHibernateTemplate())

一.find(String queryString); 示例:this.getHibernateTemplate().find("from bean.User"); 返回所有User对象 二.find(String queryString , Object value); 示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test"); 或模糊查询:th

Spring中常用的hql查询方法(getHibernateTemplate()) 【转】

一.find(String queryString); 示例:this.getHibernateTemplate().find("from bean.User"); 返回所有User对象 二.find(String queryString , Object value); 示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test"); 或模糊查询:th