Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 17.09.2017 19:31:08

Проблема с валидатором - не работает исключение уникальности

Привет всем!

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Request;
use Validator;
use App\Good;
use App\Image;

class AdminGoodControllerEditGood extends Controller
{
    //показываем форму добавления в базу продукта
	public function execute(Good $good, Request $request){


		if ($request->isMethod('post')){
			
			$input = $request->except('_token');		

			$massages = [
				
					'required'=>'Ты обязан заполнить это :attribute',
					'unique'=>'Эта хрень :attribute должна быть уникальной',
					'numeric'=>'Вэтом поле :attribute только цифры можно юзать'
			];

	    	$rullers = [
					'title' => 'required|max:255',
					'description' => 'required',
					'courier'=> 'required|unique:goods,courier,'.$input['id'],
					'sku'=> 'required|unique:goods,sku,'.$input['id'],
					'price'=> 'required|numeric',
					'quantity'=> 'required|numeric'
			];
	    	
			$validator = Validator::make($input,$rullers,$massages);
			
			if($validator->fails()) {
				return redirect()
						->route('editgood',['good'=>$input['id']])
						->withErrors($validator);
			}


	        $arr = [
	    			'title' => 'Редактор',
	    			'data' => $good
	    	];

		}

        $arr = [
    			'title' => 'Редактор',
    			'data' => $good
    	];

        return view('admin.formEdit',$arr);
    	
    }
}

структура таблицы
5F1bL
'courier'=> 'required|unique:goods,courier,'.$input['id'],
'sku'=> 'required|unique:goods,sku,'.$input['id'],
данные правила не проходят проверку, когда я пытаюсь отправить форму валидатор говорит что поля должны быть уникальным, ок ... но я же добавил исключение!
courier,'.$input['id']
подскажите в чем может быть проблема?
Также пробывал правила задавать так
'courier' => ['required',Rule::unique('goods')->ignore($input['id'])],
один фиг тоже самое.

вывод DD если отправляем пост, то видим что ID он ловит все ок.

array:8 [▼
  "id" => "9"
  "title" => "Товар номер 3"
  "description" => "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ut finibus enim, in fermentum orci. Phasellus lacinia enim sed lacus vulputate, eu males ▶"
  "courier" => "55842333"
  "sku" => null
  "price" => "50"
  "quantity" => "698"
  "active" => "on"
]

PS
php artisan --version
Laravel Framework 5.4.32

Изменено Normand (17.09.2017 20:26:00)

Не в сети

Подвал раздела