Ich muss wissen, was ist der Unterschied von save()
und create()
Funktion in Laravel 5. Wo wir save()
und create()
anders verwenden kann?Was zwischen save(), create() Funktion in Laravel 5
Antwort
Model::create
ist ein einfacher Wrapper um $model = new MyModel(); $model->save()
die Umsetzung Siehe
/**
* Save a new model and return the instance.
*
* @param array $attributes
* @return static
*/
public static function create(array $attributes = [])
{
$model = new static($attributes);
$model->save();
return $model;
}
save()
save() Methode sowohl für das Speichern von neuem Modell verwendet wird, und die Aktualisierung existierende. Hier erstellen Sie ein neues Modell oder finden ein bestehendes, , indem Sie seine Eigenschaften einzeln einstellen und schließlich in der Datenbank speichern.
save() akzeptiert eine vollständige Eloquent Modellinstanz
$comment = new App\Comment(['message' => 'A new comment.']); $post = App\Post::find(1);` $post->comments()->save($comment);
()
- erstellen, während in der Methode erstellen Sie Arrays sind vorbei, das Setzen von Eigenschaften in Modell und besteht in der Datenbank in einem Schuss.
create() akzeptiert ein Klar PHP Array
$post = App\Post::find(1); $comment = $post->comments()->create([ 'message' => 'A new comment.', ]);
EDIT
@PawelMysior Wie erwähnt, bevor die Methode erstellen verwenden, müssen Sie nach Spalten, deren Werte zu markieren sind sicher einzustellen Durch die Massenzuweisung (wie Name, Geburtsdatum usw.) müssen wir unsere Eloquent-Modelle aktualisieren, indem wir eine neue Eigenschaft namens $ fillable bereitstellen. Das ist einfach ein Array mit den Namen der Attribute enthält, die sicher über Massenzuordnung zu setzen: ab: -Klasse Land erstreckt Modell {
protected $fillable = [ 'name', 'area', 'language', ];
}
- 1. Save vs Update in Laravel
- 2. Laravel 5 - Viele zu viele - Attach versus Save
- 3. Django: Unterschied zwischen save() und create() aus Transaktionsperspektive
- 4. Was ist der Unterschied zwischen getSession(). Save() und getHibernateTemplate(). Save()?
- 5. Laravel 5 Funktion() nicht gefunden
- 6. wie PHP Datetime() Funktion in Laravel 5
- 7. Unterschied zwischen `--save` und` --save-dev`
- 8. AngularFire $ save() keine Funktion
- 9. Installation einer bestimmten Laravel 5 Version mit Composer create-project
- 10. Laravel 5 und Laravel 4
- 11. Laravel 5: MassAssignmentException in Model.php
- 12. Laravel 5 Bildgröße ändern
- 13. Laravel 5 Mehrere Öffentliche Ordner Asset-Funktion
- 14. Haken in Laravel 5?
- 15. Wie MySQL-Funktionen in CakePHP save() Funktion
- 16. Was ist der Unterschied zwischen 5 und [5] in MATLAB?
- 17. rekursive Funktion nicht alle Kinder in Laravel Rückkehr 5
- 18. Wann verwende ich save !, create! und update_attributes! in Schienen?
- 19. Wird save() implizit aufgerufen, wenn create in django aufgerufen wird?
- 20. Laravel 5 Validierung Modell
- 21. Unterschied zwischen .save und $ sparen in AngularJS
- 22. Laravel 5 Ajax Post Route
- 23. Save current user_id als Standardpostbesitzerfeld automatisch in Laravel eloquent Modelle
- 24. PHPWord in Laravel 5
- 25. Sprachen in Laravel 5
- 26. Caching in Laravel 5
- 27. So teilen Sie Bereiche zwischen Klassen in Laravel 5
- 28. Laravel 5: die move() Funktion nicht die Bilddatei hochgeladen speichern
- 29. Mungo: .save ist keine Funktion
- 30. Unterschied zwischen save und save_model()
Dank für Ihre antworten Sie, aber können Sie mir bitte mehr Ausarbeitung geben. Ich war durch das Laravel-Dokument gegangen, aber von dort habe ich nicht viel Ahnung. –
Vielen Dank für Ihre Detaillierung. –
Eine wichtige Sache zu beachten: Wenn Sie planen, create() 'zu verwenden, müssen alle Attribute, die Sie übergeben, im Attribut $ fillable im Modell aufgeführt werden. Siehe: https://laravel.com/docs/master/eloquent#mass-assignment – PawelMysior