标签
PHP欄位明明存在卻判定沒有:isset與array_key_exists怎麼分
表單送來一個欄位,值剛好是null;後端卻回報「沒有這個欄位」。遇到這種情況,先看程式是不是用了isset()。它同時要求變數存在、值不是null,不能單靠結果...
PHP讀JSON得到null:分清合法null與解碼錯誤
PHP讀取JSON後得到null,不一定表示解碼失敗。JSON本身可以是一個合法的null;但格式錯誤時,預設的json_decode()也可能回傳null。若...
PHP array_filter把0刪掉了:保留零值與JSON列表的寫法
商品庫存明明是0,PHP整理欄位後卻不見了?先找程式裡有沒有直接呼叫array_filter($values)。省略判斷函式時,它會移除PHP視為空的值,整數0...
PHP找到第一項卻說沒有?array_search的0要這樣判斷
PHP搜尋陣列時,明明第一項就是要找的商品代碼,程式卻顯示「找不到」?先看你是不是把array_search()的結果直接放進if。它回傳的是鍵,不是單純的成功...
Laravel選填網址留白仍報錯?用nullable保留格式檢查
替Laravel網站加一個選填的「現有網站網址」,訪客明明留白,送出卻被告知網址不正確。先別急著拿掉網址驗證:你要放行的是沒填資料,不是填了什麼都接受。 選填與...
Laravel表單更新到別人的資料:用Policy核資源所有權
使用者只能看到自己的編輯按鈕,卻把網址裡的文章編號換掉,就能修改別人的文章。問題不在按鈕藏得不夠好,而是伺服器收到更新請求後,沒有確認這筆資料是否允許由目前使用...
Laravel列表每頁都查很多次資料:找出關聯N+1
列表只有十幾筆資料,資料庫卻被查了幾十次。常見原因是先取得文章,再在每一列讀作者、分類或其他關聯;畫面看起來只是在印一個名稱,實際上卻可能每次都發出新的 SQL...
Laravel送出同一表單兩次:讓資料庫唯一條件擋重複
訪客連按兩次送出,資料表多了兩筆相同詢問。把按鈕停用能減少誤按,但請求也可能被重試,或從另一個視窗送來。若產品要求同一次提交只保存一筆,資料庫需要有能識別這次提...
Laravel表單欄位沒存到?分清fillable、驗證與直接賦值
會員編輯姓名的表單只露出一個輸入框,後端卻可能收到其他欄位。瀏覽器沒有顯示 is_admin,不代表請求裡不能加上它。另一種常見情況恰好相反:表單新增了電話,驗...
Laravel交易裡捕捉例外仍寫入?確認rollback的邊界
表單一次要新增訂單和明細,明細寫入失敗,訂單卻留在資料庫。程式已經包了 DB::transaction(),看起來應該一起取消,為什麼仍有半張訂單?先找交易閉包...
Laravel欄位沒送也驗證過關:sometimes與present的差別
編輯會員資料時,請求沒有帶 name,驗證卻通過了;另一個表單明明帶了 name: null,又被判為失敗。先不要把兩者都叫做「空欄位」。欄位沒出現在輸入裡、出...
Laravel篩選集合後JSON變物件:用values整理索引
API原本回傳一個商品陣列,後端加了 filter 後,前端突然不能再用同樣的清單操作。回應內容看起來仍有兩件商品,最外層卻從方括號變成大括號,還多了 &quo...
