thinkPHP 我按照手冊使用了 一下 ->order()->limit(1) 怎麼都不行?

來源:互聯網
上載者:User
下面是代碼,有一句沒問題,只要加上 排序 和限制,就報錯?求教為什麼?

$stmt=D('classOne');$db = $stmt->where("id>10")->select();    //這句完全沒有問題,$db =$stmt->where("id>10")->order('id desc')->limit(1)->select();    //這句完出錯了?為什麼?echo '
';print_r($db);echo '
';
:(Call to a member function limit() on null錯誤位置FILE: C:\AppServ\www\yb1\yangbins\Home\Controller\CjdController.class.php  LINE: 68ThinkPHP3.2.3 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THINK ]

以下是原因:
原來我在 classoneModel.class.php 裡多了個:

 function __call($methodname, $args)    {        echo "這裡是 class shopModel ,你調用的方法{$methodname},參數: (".implode(" , ",$args).')  不存在....
'; }

為什麼我沒有 覆蓋 limit() 和 desc(),只是覆蓋了魔術方法,整個檔案就出錯了??

回複內容:

下面是代碼,有一句沒問題,只要加上 排序 和限制,就報錯?求教為什麼?

$stmt=D('classOne');$db = $stmt->where("id>10")->select();    //這句完全沒有問題,$db =$stmt->where("id>10")->order('id desc')->limit(1)->select();    //這句完出錯了?為什麼?echo '
';print_r($db);echo '
';
:(Call to a member function limit() on null錯誤位置FILE: C:\AppServ\www\yb1\yangbins\Home\Controller\CjdController.class.php  LINE: 68ThinkPHP3.2.3 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THINK ]

以下是原因:
原來我在 classoneModel.class.php 裡多了個:

 function __call($methodname, $args)    {        echo "這裡是 class shopModel ,你調用的方法{$methodname},參數: (".implode(" , ",$args).')  不存在....
'; }

為什麼我沒有 覆蓋 limit() 和 desc(),只是覆蓋了魔術方法,整個檔案就出錯了??

這個錯誤的原因是order()這個方法沒有返回Model類本身,在Model代碼中這是正確的,看樣子是你執行個體化的classOneModel這個模型裡繼承覆蓋了order()這個方法,並且沒有正確的處理它,請檢查其中的是不是這麼做了。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.