Solución:
De elocuente push()
guarda el modelo y sus relaciones, pero primero tienes que decir qué quieres que participe en la relación.
Dado que su modelo de usuario / tabla contiene la identificación del concesionario, supongo que un usuario puede pertenecer a un solo concesionario, por lo que la relación debería verse así:
Modelo de usuario:
public function dealership()
{
return $this->belongsTo('Dealership');
}
Modelo de concesionario:
public function users()
{
return $this->hasMany('User');
}
Para salvar a un usuario desde la perspectiva del concesionario, haga lo siguiente:
$dealership->users()->save($user);
Para asociar un concesionario con un usuario, haga lo siguiente:
$user->dealership()->associate($dealership);
$user->save();
Verifique esta respuesta para ver la diferencia de push () y save ()
Deberá definir correctamente las relaciones de sus modelos según la documentación. Si esto se hace correctamente, debería funcionar. Esto es lo que hace push ():
/**
* Save the model and all of its relationships.
*
* @return bool
*/
public function push()
{
if ( ! $this->save()) return false;
// To sync all of the relationships to the database, we will simply spin through
// the relationships and save each model via this "push" method, which allows
// us to recurse into all of these nested relations for the model instance.
foreach ($this->relations as $models)
{
foreach (Collection::make($models) as $model)
{
if ( ! $model->push()) return false;
}
}
return true;
}
En su caso, tiene uno (concesionario) que pertenece a muchos (usuarios)
En su modelo de Usuarios:
class Users extends Eloquent {
public function dealership()
{
return $this->belongsTo('Dealership');
}
}
En el ejemplo anterior, Eloquent buscará una columna dealership_id en la tabla de usuarios. En su modelo de concesionario:
class Dealership extends Eloquent {
public function users()
{
return $this->hasMany('User');
}
}
En su función de tienda:
public function store()
{
$user = new User();
$user->email = Input::get('email');
$user->password = Input::get('password');
$user->dealership = new Dealership();
$user->dealership->name = Input::get('dealership_name');
$user->push();
return "User Saved";
}
Aprenda aquí más sobre relaciones elocuentes
También, por favor, eche un vistazo a mi respuesta aquí.