對不起,如果這是一個愚蠢的問題。我對laravel/MVC非常陌生,今天的咖啡也不夠多,所以如果答案就在我面前,我不會感到驚訝。 :)Laravel 4.1 - 將表單<select>的資源ID傳遞給控制器方法?
背景:我有一個選擇的形式。該表單用於從數據庫中刪除「用戶」及其所有關聯資源。 <select>
填充了唯一的ID。在表單提交時,我想向我的Controller類發送一個DELETE
請求,傳入所選的ID以刪除。
我無法弄清楚如何將select中的ID傳入表單。我如何做到這一點,以便當您在下拉列表中選擇(例如)ID 1
時,該表單會傳遞到我的資源路由中?
下面是一些代碼:
{{ Form::open(array(
'url' =>'/clients',
'method'=>'delete',
'name' =>'delClient',
'role' =>'form',
'class' =>'form-horizontal')) }}
<h4>Please select the client you would like to delete:</h4>
{{
Form::selectField('delClientSelect', 'Client: ', array(
0=>'-- Select Client --')+$clientsList)
}}
{{
Form::submit('Delete Selected', array(
'class' => 'btn btn-danger confDelClient',
'data-role'=> 'delete'
))
}}
{{ Form::close() }}
一切我看了網上說,你通過ID到表單'url'
屬性,即:
{{
Form::open(array('url'=>'/clients/{id}'))
}}
但是,作爲ID從<select>
未來,我不確定將ID傳入我的路由的正確方法是什麼。
感謝您的幫助!
我正在使用資源控制器,對不起,如果我沒有說清楚。 :)我知道我可以附加ID與jQuery,但我不覺得這是最好的做法,有沒有辦法由Laravel做到這一點?感謝您的幫助。 – Prefix
通常情況下,您正在使用資源控制器來處理1個資源(您的情況爲1個用戶)。每條路線(存儲,創建,顯示,編輯等)都會處理一個資源。我會說有一個選擇字段來選擇一個用戶刪除並不真的遵循這種做法。 通常,您有一個顯示頁面來顯示1個用戶。在該頁面上,您將擁有一條刪除鏈接,其中包含銷燬/刪除操作的路由。 –
我看到了 - 我仍然只操作一個用戶,您只需選擇哪個用戶;這是否不遵循這種做法?你認爲在這種情況下,使用普通的POST和編寫我自己的方法而不是依賴資源控制器默認值會更好嗎?謝謝! – Prefix