--begin itlife365
thinkphp 定位查询 Model:top10您所请求的方法不存在!
Model:top10您所请求的方法不存在!
错误位置
FILE: D:\mysoft\git_local\iCommunity\ThinkPHP\Lib\Core\Model.class.php LINE: 253
ThinkPHP3.1.3 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THINK ]
查了一些相关资料得知:定位查询是内置于高级模型类(AdvModel)里的方法,是独立的方法且支持连贯操作。
如果直接使用M或D实例化模型会提示:top10您所请求的方法不存在!
因此要使用定位查询需要加载高级模型类,可以有下面三种方法加载高级模型类:
1、使用动态模型切换 switchModel() 方法:
$database_goods = M('Keywords');//高级模型
//$database_goods = M('AdvModel:Keywords');//高级模型
switchModel("Adv"),比如:$last = $this->KeywordsModel->switchModel('Adv')->order('id asc')->last();手动加载高级模型。
2、在用户模型里面继承高级模型类:
class MemberModel extends AdvModel{ } 实例化的时候运用 D('Member')就可以使用last方法。
3、第三种方法直接加载
原来是$database_goods = M('Keywords');//高级模型
改为
$database_goods = M('AdvModel:Keywords');//高级模型
即可。
与last类似的函数还有:
getN():取得查询结果中的某个位置的记录
first():取得符合条件的第一条记录
--end itlife365