首页 » ThinkPHP » 正文

thinkphp 定位查询 Model:last您所请求的方法不存在!

thinkphp 定位查询 Model:last您所请求的方法不存在!

用thinkphp3.1做项目的时候为了获取记录表中最后一个id用到了last()方法,出现了这个错误:Model:last您所请求的方法不存在!

查了一些相关资料得知:定位查询是内置于高级模型类(AdvModel)里的方法,是独立的方法且支持连贯操作。如果直接使用M或D实例化模型会提示:

Model:last您所请求的方法不存在!
因此要使用定位查询需要加载高级模型类,可以有下面两种方法加载高级模型类:

1、使用动态模型切换 switchModel() 方法:

switchModel("Adv"),比如:$last = $this->memberModel->switchModel('Adv')->order('id asc')->last();手动加载高级模型。

2、在用户模型里面继承高级模型类:

class MemberModel extends AdvModel{ } 实例化的时候运用 D('Member')就可以使用last方法。
与last类似的函数还有:
  1. getN():取得查询结果中的某个位置的记录
  2. first():取得符合条件的第一条记录

发表评论