【发布时间】:2019-12-11 13:44:02
【问题描述】:
到目前为止,我有以下规则。
$rules['name'] = [
'required',
'string',
'min:3',
'max:255',
Rule::unique('user_templates', 'name')->ignore($this->id),
];
用户可以创建记录,但他的所有记录必须有一个唯一的名称(其他用户可以有相同名称的记录)。我怎样才能做到这一点?此外,$this->id on update 始终为空。我究竟做错了什么?
控制器
public function update(UserTemplatesRequest $request, $slug)
{
try {
$model = UserTemplates::where('slug', XSS::clean($slug))
->firstOrFail();
} catch (ModelNotFoundException $err) {
return redirect()->action('UserTemplatesController@index');
}
$data = $request->validated();
if ($model->updateTemplate(XSS::clean($data, ['file']), $request)) {
$message = "There was an error, please try again";
$action = 'index';
$id = '';
} else {
$message = "Category Updated";
$action = 'edit';
$id = $model->id;
}
return redirect()->action("CategoriesController@{$action}", [$id])
->with('message', $message);
}
【问题讨论】:
标签: laravel laravel-6 laravel-validation