我使用表單模型綁定來填充用戶數據的表單。如何在Laravel 5中傳遞(訪問)ID規則中的ID?
{!! Form::model($user, ['route' => ['user_update', $user->id]]) !!}
完美地工作。當我點擊「提交」時,輸入我的UpdateUserRequest,我根據一些規則驗證我的輸入。在這種情況下,我想保留唯一的電子郵件地址,但當然我們需要爲這個「行」「跳過唯一性」。
我有一個規則
'email' => 'required|unique:users,email,' . 123456,
和它的作品一樣好時,我會暫時硬編碼此ID(來自用戶的表的主鍵)。
如何訪問此ID內部規則方法? (特別是當我從控制器傳遞$ user_id時)。
- 是的,Auth :: user() - > id的作品,但顯然只爲我。我也處理其他用戶的配置文件。
- 我可以通過這個用戶的ID作爲隱藏的輸入,並從請求/輸入訪問這個,但我不認爲這是一個很好的解決方案,對吧?
- 與網段相同。我可以從網址抓取這個,但也許有更好的方法?
我在規則()方法,我是DD()一堆東西,但沒有任何工作,因爲我期望。
感謝您的任何提示! :)
我不明白你想達到什麼目的:你想在更新用戶檔案時跳過「唯一性」嗎? –
@DamienPirsy,正好。 想象一下,我正在將某人的個人資料更新爲superadmin。例如,我正在更改John Doe的用戶名,但我將他的電子郵件保留原樣。然後我提交一切,Laravel執行驗證。 Laravel抓取輸入電子郵件並將其與數據庫中現有的電子郵件進行比較,在這種情況下毫無意義,因爲我不想觸摸該字段。 如果我離開「必需|唯一」,但我將刪除「用戶,電子郵件,THIS_USERS_ID」我永遠無法從明顯的原因提交表單。希望現在清楚。 – slick
由於用戶標識作爲路由url的一部分傳遞,因此使用該標識是有意義的。這就是爲什麼它首先被傳遞的原因,因爲您需要它來確定您正在使用的確切條目(無論是用於更新,驗證還是您可以找到的任何用途)。 – Bogdan