Laravel 5.7 Проверка с полем формы, отличным от атрибута модели - PullRequest
0 голосов
/ 22 сентября 2018

У меня проблемы с запуском проверки laravel в следующей ситуации.

У меня есть форма, в которой пользователь регистрирует себя и свою компанию (empresa).

И пользователь, и пользовательу empresa есть атрибут «documentmento», поэтому в форме, которую я назвал «cpf» для документа лиц, и «documentsmento_corp» для документа компании.

Нужно проверить, зарегистрированы ли они уже..

Я попробовал следующее, но это дает мне

Столбец не найден: 1054 Неизвестный столбец 'documentmento_corp' в 'предложении where' (SQL: выберите количество (*) как агрегат изempresas где documento_corp = 29242509000122 и (documento = 29242509000122))

return Validator::make($data, [
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:6', 'confirmed'],
        'phone' => ['required', 'string', 'min:10', new Telefone],
        'cpf' => ['required', 'string', 'min:11', new Cpf],

        'name_corp' => ['required', 'string', 'max:255'],
        'email_corp' => ['required', 'string', 'email', 'max:255'],
        'phone_corp' => ['required', 'string', 'min:10', new Telefone],
        'documento_corp' => ['required', 'string', 'min:11', Rule::unique('empresas')->where(function($query) use ($data) {
            return $query->where('documento', $data['documento_corp']);
        }), new CpfOuCnpj],
        'cep_corp' => ['required', 'string', 'min:8'],
        'rua_corp' => ['required', 'string', 'min:5'],
        'uf_corp' => ['required', 'string', 'min:2', 'max:2'],
        'bairro_corp' => ['required', 'string', 'min:5'],
        'cidade_corp' => ['required', 'string', 'min:2'],
    ]);

Как мне это сделать тогда?

1 Ответ

0 голосов
/ 22 сентября 2018

Разве вы не можете просто сделать unique:empresas,documento?

Синтаксис: уникальный: таблица, столбец, кроме idColumn

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...