标签
Laravel查不到資料還讀欄位:first的null與firstOrFail
商品詳情頁偶爾報錯「無法讀取null的屬性」,但同一段程式在別的商品又正常。先查單筆查詢是否真的有找到模型。Eloquent的 first()沒有找到資料時會回...
Laravel翻到第二頁篩選消失:分頁連結保留限定query
商品清單選了coffee分類,第一頁正確,按第二頁卻變成所有商品。先把滑鼠移到分頁連結,看看網址是否只剩 ?page=2。後端第一個請求有讀分類,不代表Pagi...
Laravel收到false字串卻當成true:用Request boolean讀表單開關
設定表單送來 enabled=false,後端卻把開關打開。若程式用了 (bool)$request->input('enabled'...
Laravel更新原email也報重複:unique要排除目前模型
會員編輯頁只改了姓名,email維持原值,送出後卻顯示email已被使用。先查唯一驗證是否把正在編輯的那筆會員也算進去。新增資料需要檢查任何一筆是否已使用這個e...
Laravel篩選集合後JSON變物件:用values整理索引
API原本回傳一個商品陣列,後端加了 filter 後,前端突然不能再用同樣的清單操作。回應內容看起來仍有兩件商品,最外層卻從方括號變成大括號,還多了 &quo...
Laravel欄位沒送也驗證過關:sometimes與present的差別
編輯會員資料時,請求沒有帶 name,驗證卻通過了;另一個表單明明帶了 name: null,又被判為失敗。先不要把兩者都叫做「空欄位」。欄位沒出現在輸入裡、出...
Laravel交易裡捕捉例外仍寫入?確認rollback的邊界
表單一次要新增訂單和明細,明細寫入失敗,訂單卻留在資料庫。程式已經包了 DB::transaction(),看起來應該一起取消,為什麼仍有半張訂單?先找交易閉包...
Laravel表單欄位沒存到?分清fillable、驗證與直接賦值
會員編輯姓名的表單只露出一個輸入框,後端卻可能收到其他欄位。瀏覽器沒有顯示 is_admin,不代表請求裡不能加上它。另一種常見情況恰好相反:表單新增了電話,驗...
Laravel送出同一表單兩次:讓資料庫唯一條件擋重複
訪客連按兩次送出,資料表多了兩筆相同詢問。把按鈕停用能減少誤按,但請求也可能被重試,或從另一個視窗送來。若產品要求同一次提交只保存一筆,資料庫需要有能識別這次提...
Laravel列表每頁都查很多次資料:找出關聯N+1
列表只有十幾筆資料,資料庫卻被查了幾十次。常見原因是先取得文章,再在每一列讀作者、分類或其他關聯;畫面看起來只是在印一個名稱,實際上卻可能每次都發出新的 SQL...
Laravel表單更新到別人的資料:用Policy核資源所有權
使用者只能看到自己的編輯按鈕,卻把網址裡的文章編號換掉,就能修改別人的文章。問題不在按鈕藏得不夠好,而是伺服器收到更新請求後,沒有確認這筆資料是否允許由目前使用...
Laravel選填網址留白仍報錯?用nullable保留格式檢查
替Laravel網站加一個選填的「現有網站網址」,訪客明明留白,送出卻被告知網址不正確。先別急著拿掉網址驗證:你要放行的是沒填資料,不是填了什麼都接受。 選填與...
