【问题标题】:Laravel Validation Unique values in column for anotherLaravel验证另一个列中的唯一值
【发布时间】:2016-08-07 02:36:09
【问题描述】:

我正在尝试在我的请求中设置验证规则,以便 namesLaravel 5.2 中的 years 是唯一的。

到目前为止,我有这个请求:

<?php

namespace App\Http\Requests;
use Auth;
use App\Http\Requests\Request;

class AwardeeRequest extends Request
{
    public function rules()
    {
        return [
            'name'=>'required',
            'year'=>'required',
        ];
    }
}

还有我的控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Awardee;
use App\Http\Requests;

class AwardeeController extends Controller
{
.
.
    public function store(Requests\AwardeeRequest $request)
    {
        $this->validate($request, [
            'name' => 'unique:awardee,name,NULL,year,year,' .$request->get('year'),
        ]);

        return redirect(route('awardees.index'));
    }

    public function update(Requests\AwardeeRequest $request, $id)
    {
        $awardee = Awardee::findOrFail($id);
        $this->validate($request, [
            'name' => 'unique:awardee,name,NULL,year,year,' .$request->get('year').',id,id,'.$awardee->id,
        ]);
        $awardee->fill($request->all())->save();

        return redirect(route('awardees.index'));
    }

}

我尝试了这里的建议:Laravel 4: Unique Validation for Multiple Columns,但是当我更新年份时它失败了。

【问题讨论】:

    标签: php validation laravel-5.2


    【解决方案1】:

    原来是我想多了。

    这是最终代码。我删除了对请求规则的验证。

    <?php
    
    namespace App\Http\Requests;
    use Auth;
    use App\Http\Requests\Request;
    
    class AwardeeRequest extends Request
    {
        public function rules()
        {
            return [
                'year'=>'required',
                'name'=>'required|unique:awardee,name,'.$this->get('id').',year,year,' .$this->get('year'),
            ];
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 2022-01-25
      • 2014-11-01
      • 1970-01-01
      • 2018-07-29
      相关资源
      最近更新 更多