Проверьте массив с уникальным правилом в форме запроса. - PullRequest
0 голосов
/ 28 августа 2018

Я отправляю вход с именем slug[], который является массивом со слагами для каждого categories языка [es, en], этот вход содержит слаг для такой таблицы

{
  "slug": {
    "1": "slug-de-prueba",
    "2": null //this field could be null or have a value;               
    //"2": "test-slug"
  },
}

Я хочу проверить слагов в form request как уникальные для каждого языка, пример для языка 1 [es] slug-de-prueba должен быть уникальным. Сейчас я делаю это, но это не подтверждает уникальное правило

switch ($this->method()) {
        case 'POS':
            $rules['name.1']    = 'required';
            $rules['slug.*'][]  = 'required';
            $rules['slug.*'][]  = Rule::unique('translations_entries')->where(function($query){
                // here should go the lang of the slug I want to be unique
            });
            break;
        case "PUT":
            $rules['slug.*'] = Rule::unique('translations_entries')->ignore($this->route('categorias'));
            default:
                break;
        }

но, таким образом, я не знаю, как сообщить ему, какой язык должен проверять каждый элемент массива, а также, при обновлении строки, значения для ответа, такие как

{
  "slug": {
    "280": "slug-de-prueba",
    "282": null //this field could be null or have a value;               
    //"2": "test-slug"
  },
}

при обновлении я отправляю идентификатор поля, там я хочу игнорировать этот идентификатор для уникального поля, как я могу это сделать?

...