thinkphp查询出来的数据在分页的时候为什么用不了order()

自行脑补
  • 1k

[code]

$user = M('product');
$data = $user->join('LEFT JOIN cc_type ON cc_product.id = cc_type.p_id' )->where('cc_type.type='.$type)->field('cc_product.id,cc_product.title,cc_product.material,cc_product.img_src,cc_product.price')->select();
        $count=count($data);
        $Page = new \Think\Page($count,12);
        $Page -> setConfig('header','共%TOTAL_ROW%条');
                $Page -> setConfig('first','首页');
                $Page -> setConfig('last','共%TOTAL_PAGE%页');
                $Page -> setConfig('prev','<<上一页');
                $Page -> setConfig('next','下一页>>');
                $Page -> setConfig('theme','%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%');
        $show  = $Page->show();
        // var_dump($data);exit();
        $result = $data->order('id')->limit($Page->firstRow.','.$Page->listRows)->select();
        $this->assign('result',$data);
        $this->assign('page',$show);
        $this->display();

[/code]
这里显示order()错误,意思好像是说这个id不是一个对象?
图片描述

打印出来的$data是这样的

clipboard.png

而在别的地方
[code]

        $User = M('product'); 
        $count = $User->count();// 查询满足要求的总记录数\
        $Page = new \Think\Page($count,12);
        $Page -> setConfig('header','共%TOTAL_ROW%条');
                $Page -> setConfig('first','首页');
                $Page -> setConfig('last','共%TOTAL_PAGE%页');
                $Page -> setConfig('prev','<<上一页');
                $Page -> setConfig('next','下一页>>');
                $Page -> setConfig('theme','%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%');
        $show  = $Page->show();
        // var_dump($User);exit();
        $result = $User->order('id')->limit($Page->firstRow.','.$Page->listRows)->select();

[/code]
这样就没错,问题到底出在哪里啊

回复
阅读 2.5k
3 个回答

$data 只是一个数组,哪里来的order方法
order方法是在thinkphp 的model上的

打印你的第一个$data看看结果。

第一个$data是数组
第2个$User是model对象
。。。。
order是model对象的其中一个方法不是数组的方法,你说为什么报错。
亲,请去复习(或者预习)php的面向对象

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏