ThinkPHP5 1 查詢表示式錯誤 解決一例

2021-09-01 05:39:29 字數 568 閱讀 3051

最近使用tp5.1做查詢(陣列查詢方式)時出現了「查詢表示式錯誤」的錯誤,查詢條件陣列是從前端輸入的資料陣列內層拿到的。

但是我的查詢陣列沒毛病啊,於是在丟擲異常的**前列印了下指標位置key($value),發現居然是null!

層層定位後發現是在獲取輸入資料input()後,內層陣列的指標位置便是null了。看來是input()的鍋。

找到位置後,發現**是這樣的:

// 解析過濾器

$filter = $this->getfilter($filter, $default);

if (is_array($data)) else

原來tp5.1在獲取輸入資料並執行過濾操作時使用的array_walk_recursive()方法進行的遞迴操作,執行完畢後沒有遞迴地重置陣列指標,只重置了最外層陣列。

解決方法就是遞迴重置一下啦~

ThinkPHP5 1鉤子和行為

tp5.1的行為是乙個比較抽象的概念,執行的流程使用者的註冊,登入,退出登入等等都可以作為乙個行為。而不同的行為之間也具有位置共同性,比如,有些行為的作用位置在使用者註冊後,在登入之後,退出登入之後,等等有些行為的作用位置都是在應用執行前,有些行為都是在模板輸出之後,把這些行為發生作用的位置稱之為鉤...

thinkphp5 1 匯入excel檔案

public function importexcel 限制上傳 型別 ext substr strrchr files file name 1 if ext xls ext xlsx 讀取 filename files file tmp name reader iofactory createre...

ThinkPHP5 1學習 模組設計

一 目錄結構 thinkphp5.1 預設是多模組架構,也可以設定為單模組操作 手冊摘入的結構列表 多模組設計在 url 訪問時,必須指定響應的模組名,比如 public test abc eat 如果你只有 test 這乙個模組時,你可以繫結這個模組,從而省略寫法 此時,url 呼叫就變成了 pu...