J'ai besoin de savoir quelle est la différence entre la fonction save()
et create()
dans laravel 5. Où pouvons-nous utiliser save()
et create()
?
Model::create
Est un simple wrapper autour de $model = new MyModel(); $model->save()
Voir l'implémentation
/**
* 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;
}
enregistrer ()
la méthode save () est utilisée à la fois pour enregistrer un nouveau modèle et pour mettre à jour un modèle existant. ici, vous créez un nouveau modèle ou en trouvez un existant, définissez ses propriétés une par une et enregistrez enfin dans la base de données.
save () accepte une instance de modèle Eloquent complète
$comment = new App\Comment(['message' => 'A new comment.']);
$post = App\Post::find(1);`
$post->comments()->save($comment);
create ()
create () accepte un simple PHP tableau
$post = App\Post::find(1);
$comment = $post->comments()->create([
'message' => 'A new comment.',
]);
MODIFIER
. nos modèles Eloquent en fournissant une nouvelle propriété appelée $ fillable. Il s'agit simplement d'un tableau contenant les noms des attributs qui peuvent être définis en toute sécurité via une affectation en masse:
exemple :-
class Country extends Model {
protected $fillable = [
'name',
'area',
'language',
];
}