es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Laravel 8: validación única en múltiples tablas

Tengo una situación en la que necesito validar un número de identificación en dos tablas diferentes (empresas y unidades).

La empresa puede registrar las unidades que posee, pero el sistema no puede permitir que se duplique el código de identificación en las tablas (empresas y unidades).

Una validación típica se vería así:
Almacenar

unique:companies,cnpj

Actualizar

unique:companies,cnpj,{$this->company->id}

Pero necesito agregar la segunda tabla en esta condición para la validación, así que intenté usarla de la siguiente manera, pero la validación no ocurre.

Intenté usar algo como:

unique:companies,cnpj|unique:units,cnpj

¿Alguien que haya pasado por este tipo de situación o tenga conocimientos que puedan ayudarme?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Laravel y Eloquent, puedes validar un número de identificación en dos tablas diferentes usando la regla de validación única. La regla de validación única asegura que el valor del atributo sea único en la tabla o tablas de base de datos dadas.

    Para solventar el problema de duplicación del código de identificación en las tablas de empresas y unidades, puedes usar la regla de validación “único” con múltiples tablas separadas por una barra vertical “|”.

    Store: unique:companies,cnpj|unique:units,cnpj
    

    Esta regla de validación comprobará si el número de identificación proporcionado es único en ambas tablas de empresas y unidades al crear un nuevo registro.

    De manera similar, al actualizar un registro existente, puedes usar la siguiente regla de validación:

    Update: unique:companies,cnpj,{$this->company->id}|unique:units,cnpj
    

    Esta regla de validación comprobará si el número de identificación proporcionado es único en ambas tablas de empresas y unidades excepto para el registro actual que se está actualizando en la tabla de empresas.

    Al usar la regla de validación única con múltiples tablas, puedes asegurarte de que el código de identificación sea único en ambas tablas de empresas y unidades y prevenir la duplicación.

Comments are closed.