保存Laravel中的現有條目仍然noob和學習Laravel,我目前正在使用FormRequest進行簡單驗證。我今天面臨的是編輯一個現有的條目。允許使用FormRequest和唯一的
我寫過我的FormRequest,我希望name
是唯一的。它完美的工作,但當然,當我編輯一個現有的條目,我不能再保存它,它已經存在......當然,因爲我正在編輯它。
我發現解決方案閱讀文檔,但不幸的是,它不起作用。這裏是我的代碼:
路線:
Route::resource('editeurs', 'PublishersController');
控制器:
class PublishersController extends Controller
{
/* Update an existing publisher */
public function update($slug, PublisherRequest $request)
{
$publisher = Publisher::where('slug', $slug)->firstOrFail();
$input = $request->all();
$publisher->name = $input['name'];
$publisher->slug = my_slug($input['name']);
$publisher->save();
return redirect()->action('[email protected]', $publisher->slug);
}
}
FormRequest:
class PublisherRequest extends Request
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|unique:publishers,name,'.?????
];
}
}
如果需要的話,認爲:
@section('content')
<div class="row">
<h1 class="large-12 columns">Edition - {!! $publisher->name !!}</h1>
{!! Form::model($publisher, ['method' => 'PATCH', 'action' => ['[email protected]', $publisher->slug]]) !!}
<div class="large-12 columns">
{!! Form::label('name', 'Nom de l\'éditeur') !!}
{!! Form::text('name', null, ['placeholder' => 'Nom de l\'éditeur']) !!}
</div>
<div class="large-12 columns">
{!! Form::submit('Ajouter un éditeur', ['class' => 'button expand']) !!}
</div>
{!! Form::close() !!}
</div>
@stop
我的代碼有什麼問題?
你的表單請求代碼看起來很好,所以它應該可以工作。你在提交時是否被重定向回''users/{id}/edit',並且'session('errors')'中有錯誤? – Bogdan
是的,我被重定向到窗體,它顯示錯誤:'該名稱已經存在' –
我假設你100%確定沒有其他具有該名稱的條目。 – Bogdan