Ich versuche herauszufinden, was die beste Vorgehensweise ist, um eine neue Zeile zu erstellen.Best Practice zum Erstellen von Eintrag (Beziehung)?
Lassen Sie sagen, wir haben dies in der Steuerung:
$this->noteRepository->addNote($request->user(), $name, $note);
Zwei addNote
Methode in der noteRepository
Klasse Arbeitslösung, zum Beispiel:
Option 1 - Dieser Eintrag noteModel
public function addNote($user, $name, $note)
{
return $this->noteModel->create([
'user_id' => $user->id,
'name' => $name,
'note' => $note,
]);
}
Option 2 - Im Benutzermodell gibt es eine notes()
Methode.
public function addNote($user, $name, $note)
{
return $user->notes()->create([
'user_id' => $user->id,
'name' => $name,
'note' => $note,
]);
}
Im user
Modell aussehen:
public function notes()
{
return $this->hasMany(Note::class);
}
Welche wird Ansatz empfohlen zu verwenden und warum?
Zustimmen. Ich benutze diesen Ansatz auch. – alariva
iCode Wenn addNote eine Methode im Benutzermodell ist kann ich $ this-> notes() -> create(); und entferne $ user von den params? – borracciaBlu
@borracciaBlu Ja, Sie können dies tun. –