Ich benutze PHP Slim3 Fraemwork und eloquent Orm in meiner App. Und ich habe mit beredten Beziehungen Laden verwirrt ..Wie eifrig laden Beziehungen direkt nach der Erstellung in Eloquent
Ich mag würde mein Objekt mit Beziehungen auf Schaffung
Lassen Sie uns sagen, ich habe eine Firma und Benutzermodelle Benutzer hat company
Methode und Gesellschaft hat users
Methode zum Auffüllen als Gut. Beide Methoden beschrieben richtig
//User.php
company()
{
return $this->belongsTo('Company');
}
//Company.php
users()
{
return $this->hasMany('User');
}
als irgendwo ich ein neues Unternehmen mit Benutzern
function doSomething(array $data)
{
$company= new Company();
//fill it
//...
$users = [];
foreach ($data['user_emails'] as $email)
{
$users[] = new User(['email' => $email]);
}
$company->users()->saveMany($users);
$company->save();
return $company();
}
$company = doSomething(['emails'] => ['[email protected]', '[email protected]']);
//rely on build in to Model toString that uses json serialization
echo $company;
In diesem Beispiel Unternehmen erstellen möchten und Beziehungen gespeichert werden - es funktioniert Aber in Unternehmen json wird Unternehmen sein nur Und ich möchte es mit den Nutzern sehen, wie gut
Falls ich diese Firma schon kann ich with
echo Company::query()->with('user')->get();
Aber ich habe bereits alle Daten, die ich brauche - keine Notwendigkeit, es erneut von db zu holen. Gibt es eine Möglichkeit, Unternehmen mit verwandten Benutzern direkt nach der Erstellung zurückzugeben?