luis eduardo galindo SQLSTATE[42S22]: Column not found en update

luis eduardo galindo Publicada hace 2 meses | 0

SQLSTATE[42S22]: Column not found en update

↑ Me gusta (0)

Hola a todos, veran tengo un problema con Laravel 6 al momento de actualizar mi tabla, la cual cree con una migración. El error que me aparece es:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'numeroDocumento63' in 'where clause' (SQL: select count() as aggregate from owners where numeroDocumento63 = 6324578)*

En donde la columna 'numeroDocumento63 no es la que tengo en mi modelo y constantemente cambia de nombre (por cada Id que consulto) cada vez que intento actualizar.

La estructura de mi modelo Owner es la siguiente:

class Owner extends Model
{
    // Nombre de la tabla en la base de datos MySQL.
    protected $table = "owners";
    protected $primaryKey = 'id';

    // Lista de atributos que pueden ser asignados masivamente.
    protected $fillable = [
        'propietario' ,
        'document_type_id' ,
        'numeroDocumento' ,
        'legal_identity_id' ,
        'bank_id' ,
        'bank_account_id' ,
        'numeroCuenta' ,
        'email' ,
        'direccion' ,
        'telefono1' ,
        'telefono2' ,
        'state_id' ,
        'city_id'
    ];

    protected $guarded = ['id'];

    // Relación de uno a uno
    public function tipoDocumento()
    {
        // Un propietario tiene un solo tipo de documento.
        return $this->hasOne(DocumentType::class, 'id', 'document_type_id'); 
    }

    public function tipoPersona()
    {
        // Un propietario tiene un solo tipos de identidad jurídica.
        return $this->hasOne(LegalIdentity::class, 'id', 'legal_identity_id');
    }

    public function banco()
    {
        // Un propietario tiene una sola entidad bancaria.
        return $this->hasOne(Bank::class, 'id', 'bank_id');
    }

    public function cuentaBancaria()
    {
        // Un propietario tiene una sola cuenta bancaria.
        return $this->hasOne(BankAccount::class, 'id', 'bank_account_id');
    }

    public function state()
    {
        // Un propietario tiene un solo estado/departamento.
        return $this->hasOne(State::class, 'id', 'state_id');
    }

    public function city()
    {
        // Un propietario tiene una sola ciudad/municipio.
        return $this->hasOne(City::class, 'id', 'city_id');
    }


    // //Relación de muchos a muchos.
    // public function properties()
    // {
    //     // Un propietario pertenece y tiene muchos inmuebles/propiedades.
    //     return $this->belongsToMany('App\Property');
    // }
}

El código que empleo para el método update es:

		$request->validate([
            'propietario'        => 'required|max:191',
            'documento'          => 'required',
            'numero_identidad'   => 'required|max:25|unique:owners,numeroDocumento' . $id,
            'personalidad_legal' => 'required',
            'email'              => 'required|max:191|email|unique:owners,email' . $id,
            'direccion'          => 'required|max:191',
            'numero_telefonico1' => 'required|max:12',
            'numero_telefonico2' => 'nullable|max:12',
            'departamentos'      => 'required',
            'municipios'         => 'required',
            'banco'              => 'required',
            'cuentaBancaria'     => 'required',
            'numeroCuentaBancaria' => 'required|max:191',
        ]);
            
        $owner   = Owner::find($id);
        $idOwner = $owner->id;
        
        $owner->propietario       = trim(mb_strtoupper($request->get('propietario')));
        $owner->document_type_id  = $request->get('documento');
        $owner->numeroDocumento   = trim($request->get('numero_identidad'));
        $owner->legal_identity_id = $request->get('personalidad_legal');
        $owner->bank_id           = $request->get('banco');
        $owner->bank_account_id   = $request->get('cuentaBancaria');
        $owner->numeroCuenta      = trim($request->get('numeroCuentaBancaria'));
        $owner->email             = trim($request->get('email'));
        $owner->direccion         = trim(mb_strtoupper($request->get('direccion')));
        $owner->telefono1         = trim($request->get('numero_telefonico1'));
        $owner->telefono2         = trim($request->get('numero_telefonico2'));
        $owner->state_id          = $request->get('departamentos');
        $owner->city_id           = $request->get('municipios');

        $owner->save();

        return redirect()->route('propietarios.show', $idOwner)
        ->with('success', '!Datos del propietario actualizado¡');

Cualquier ayuda será bienvenida.


Inicia sesión para responderle a luis eduardo galindo