Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 允许使用FormRequest和unique在Laravel中保存现有条目 name!!} {!!Form::model($publisher,['method'=>'PATCH','action'=>['PublishersController@update“,$publisher->slug]]) {!!Form::label('name','Nom de l\'deéditeur') {!!Form::text('name',null,['placeholder'=>'Nom de l\'deéditeur']) {!!表单::提交('ajournéditeur',['class'=>'按钮展开']) {!!Form::close()!!} @停止_Validation_Laravel_Laravel 5.1 - Fatal编程技术网

Validation 允许使用FormRequest和unique在Laravel中保存现有条目 name!!} {!!Form::model($publisher,['method'=>'PATCH','action'=>['PublishersController@update“,$publisher->slug]]) {!!Form::label('name','Nom de l\'deéditeur') {!!Form::text('name',null,['placeholder'=>'Nom de l\'deéditeur']) {!!表单::提交('ajournéditeur',['class'=>'按钮展开']) {!!Form::close()!!} @停止

Validation 允许使用FormRequest和unique在Laravel中保存现有条目 name!!} {!!Form::model($publisher,['method'=>'PATCH','action'=>['PublishersController@update“,$publisher->slug]]) {!!Form::label('name','Nom de l\'deéditeur') {!!Form::text('name',null,['placeholder'=>'Nom de l\'deéditeur']) {!!表单::提交('ajournéditeur',['class'=>'按钮展开']) {!!Form::close()!!} @停止,validation,laravel,laravel-5.1,Validation,Laravel,Laravel 5.1,我已在表单中写入请求,希望名称唯一。它工作得非常完美,但是当我编辑一个现有条目时,我不能再保存它了,它已经存在了。。。当然了,因为我正在编辑它 我在阅读文档时发现了解决方案,但不幸的是,它不起作用。这是我的密码: 路线: Route::resource('editeurs', 'PublishersController'); 控制器: class PublishersController extends Controller { /* Update an existing publis

我已在表单中写入请求,希望
名称
唯一。它工作得非常完美,但是当我编辑一个现有条目时,我不能再保存它了,它已经存在了。。。当然了,因为我正在编辑它

我在阅读文档时发现了解决方案,但不幸的是,它不起作用。这是我的密码:

路线:

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('PublishersController@show', $publisher->slug);
    }
}
申请表格:

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' => ['PublishersController@update', $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
@节(“内容”)
版本-{!!$publisher->name!!}
{!!Form::model($publisher,['method'=>'PATCH','action'=>['PublishersController@update“,$publisher->slug]])
{!!Form::label('name','Nom de l\'deéditeur')
{!!Form::text('name',null,['placeholder'=>'Nom de l\'deéditeur'])
{!!表单::提交('ajournéditeur',['class'=>'按钮展开'])
{!!Form::close()!!}
@停止

我的代码有什么问题吗?

下面是我的做法:

    class PublishersController extends Controller
        {
            /* Update an existing publisher */
            public function update($slug, PublisherRequest $request)
            {
                $publisher = Publisher::where('slug', $slug)->firstOrFail();

                $this->validate($request, ['name' =>'required|unique:publishers,name,'.$publisher->id]);

                $publisher->name = $request->input('name');
                $publisher->slug = my_slug($publisher->name);

                $publisher->save();

                return redirect()->action('PublishersController@show', $publisher->slug);
            }
        }

我会这样做:

    class PublishersController extends Controller
        {
            /* Update an existing publisher */
            public function update($slug, PublisherRequest $request)
            {
                $publisher = Publisher::where('slug', $slug)->firstOrFail();

                $this->validate($request, ['name' =>'required|unique:publishers,name,'.$publisher->id]);

                $publisher->name = $request->input('name');
                $publisher->slug = my_slug($publisher->name);

                $publisher->save();

                return redirect()->action('PublishersController@show', $publisher->slug);
            }
        }

好的,我找到了解决办法。我需要通过我目前出版商的审查

public function rules()
{
    $publisher = Publisher::where('slug', $this->editeurs)->first();

    return [
        'name' => 'required|unique:publishers,name,'.$publisher->id
    ];
}

这很有效。

好的,我找到了解决方案。我需要通过我目前出版商的审查

public function rules()
{
    $publisher = Publisher::where('slug', $this->editeurs)->first();

    return [
        'name' => 'required|unique:publishers,name,'.$publisher->id
    ];
}

这是有效的。

您的表单请求代码看起来很好,应该可以正常工作。提交时您是否被重定向回
users/{id}/edit
处的表单,并且
会话中存在错误('errors')
?是的,我被重定向到表单,它显示错误:
名称已存在
我假设您100%确定没有其他条目具有该名称。尝试使用
$this->id
(由Laravel实现)而不是
$this->get('id')
(由Symfony实现),也许这会有所不同(这应该不会)。是的,只有一个Test4(这是我的测试条目),因为在我的数据库中,我不允许有多个名称。我添加了
$this->id
,但仍然有错误消息:
名称已被取下。
您的表单请求代码看起来不错,应该可以正常工作。提交时您是否被重定向回
users/{id}/edit
处的表单,并且
会话中存在错误('errors')
?是的,我被重定向到表单,它显示错误:
名称已存在
我假设您100%确定没有其他条目具有该名称。尝试使用
$this->id
(由Laravel实现)而不是
$this->get('id')
(由Symfony实现),也许这会有所不同(这应该不会)。是的,只有一个Test4(这是我的测试条目),因为在我的数据库中,我不允许有多个名称。我添加了
$this->id
,但仍有错误消息:
名称已被取下。
是,但我想将验证与控制器分开。我假设创建FormRequest是为了执行各种验证,包括这个验证。问题是,它出现在正式的Laravel文档中……是的,但我想将验证与控制器分开。我假设创建FormRequest是为了执行各种验证,包括这个验证。问题是,它出现在官方的拉威尔文件中。。。