rodrigo laravel form model binding

rodrigo Publicada hace 1 mes | 1

laravel form model binding

↑ Me gusta (0)

Saludos comunidad!!! Tengo una relación de uno a uno (cliente-empresa), y no logro mostrar los datos de la empresa que le pertenece a un cliente en mi formulario de edicion. Solo consigo mostrar los datos del cliente(nombre, apellido, telefono, etc).

No estoy seguro si mi error esta en mi controlador o en la forma de enlazar mi formulario mediante la relacion.??

Estoy intentando esto lo cual me trae solo los datos del cliente.

->modelo cliente:

public function company()
{
    return $this->hasOne(Company::class);
}  

->modelo company

public function client()
{
    return $this->belongsTo(Client::class);
}

->mi controlador ClientController método edit:

$client = Client::with('company')->findOrFail($id); 

return view('admin.customers.partials.form', compact('client'));

->mi formulario form-model (laravel collective) estos son los campos de la tabla company que tienen relacion con un cliente y no logro que los datos se muestren en mi formulario...*

{!! Form::model($client, [
    'route' => $client->exists ? ['admin.customers.update', $client->id] : 'admin.customers.store',   
    'method' => $client->exists ? 'PUT' : 'POST'
]) !!}

<div class="form-group">              
    {!! Form::label('name_company', 'Nombre') !!}                    
    {!! Form::text('name_company', null, ['class' => 'form-control', 'id' => 'name_company']) !!}
</div>

<div class="form-group">
    {!! Form::label('cuit', 'Cuit') !!}              
    {!! Form::text('cuit', null, ['class' => 'form-control', 'id' => 'cuit']) !!}
</div>

<div class="form-group">
    {!! Form::label('web', 'Web') !!}                
    {!! Form::text('web', null, ['class' => 'form-control', 'id' => 'web']) !!}
</div>

<div class="form-group">
    {!! Form::label('phone_company', 'Telefono') !!}                
    {!! Form::text('phone_company', null, ['class' => 'form-control', 'id' => 'phone_company']) !!}
</div>

->mi ruta:

Route::get('customers/{client}/edit', '[email protected]')->name('admin.customers.edit');

Les agradezco su ayuda!!!


Inicia sesión para responderle a rodrigo