php - laravel 5 insert relationship between two tables -
user hasmany profiles profile belongs user.
following works:
    $u = user::firstornew(['email' => $s['email']]);     $u->name   = $s['name'];     $u->avatar = $s['avatar'];     $u->save();      $p = new userprofile;     $p->provider     = $s['provider'];     $p->provider_uid = $s['provider_uid'];      if ($u->profiles()->save($p)) {      }   but don't it, there better more streamlined way? why can't save in 1 atomic insert?
you trying save data 2 different table, that's why can't using single insert.
the way - first save parent object, associate child object , save - how done.
you have @ push() method of eloquent's models, works in similar fashion save() calls save() on related models. using method allows replace code:
$a = new a; $a->save();  $b = new b; $b->a()->associate($a); $b->save();   with
$a = new a;  $b = new b; $b->a()->associate($a);  $a->push();      
Comments
Post a Comment