开启辅助访问
帐号登录 |立即注册

TP5模型的查询操作:find()/select()/get()/all()操作

 
一、Read读取操作

方法:find($where)和get($where)
调用方式:实例化/静态
返回值:模型对象
方法:select($where )和all( $where)
调用方式:实例化/静态
返回值:模型对象数组
1、原则来说,查询都应该采用静态查询方法;
2、尽可能采用get()和all()方法代替find()和select();
3、牢记一条原则:一个模型对象实例应该唯一对应数据表的一条记录;
举例:
模型实例化方式调用find( )和get( )方法
<?php
namespace app\ index\controller;
use app\ index model\Staff ;
class Index
{
public function index( )
{
$staff = new Staff ;
$where = function ($query){
$query -> field( ['name'=> '姓名', 'salary'=>'工资'] )
->where( 'id', '>',1020);
};
$result = $staff->find($where) ;
dump($result);
}
}

find()显示符合条件的第一条记录
用all()或者select()显示所有符合条件的记录(结果集),可通过遍历方法,将其输出。代码如下:
$result = $staff->all($where);
// dump($result) ;
foreach ($result as $value) {
dump( $va lue->getData());
}
或者
$result = $staff->all( $where) ;
// dump($result) ;
foreach ($result as $key =>$value){
echo  '第'.($key+1). '条记录的姓名是: '.$value->name.' .工资是:'.$value->salary.
举例:
用模型类静态调用select和all方法
<?php
namespace app\ index\ controller;
use app\ index \model\Staff;
class Index
{
public function index( )
{
$where = function ($query) {
$query->field([ 'name', 'salary', 'age'] )
->where( 'id' ,'>' ,1033) ;
};
$result = Staff: :all($where) ;
// dump($result) ;
foreach ($result as $value) {
dump ( $va lue->getData());
}


回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。