Clarifier comment établir une relation un-à-plusieurs dans l'ORM Eloquent de Laravel

D'accord, je suis en train de travailler à travers les Laravel 4 docs pour l'installation d'un un-à-plusieurs relations entre les deux modèles. De toute évidence, d'un côté doit utiliser hasMany(). Mais de l'autre côté, dois-je utiliser hasOne ou belongsTo? Est-il question? Quelle est la différence? Pourquoi faire les deux existent?

J'avais pensé hasOne serait pour un-à-un les relations, et belongsTo serait pour l'un des côtés de l'un-à-plusieurs. Mais dans les docs, pour l'insertion d'un modèle associé ici:

http://laravel.com/docs/eloquent#inserting-related-models

ils sont à l'aide de save() qui semble être la seule à être présente dans hasOne et hasMany des relations, non pas dans belongsTo. Il ressemble à belongsTo utilise associate() pour le même but:

https://github.com/laravel/framework/blob/master/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php#L188

Peut-être que j'ai juste besoin de quelques renseignements généraux sur quand utiliser belongsTo vs hasOneet pourquoi belongsTo utilise associate() tout hasOne utilise save().

EDIT: je suppose que mon point de confusion est que dans les docs (http://laravel.com/docs/eloquent#inserting-related-models), ils ont utilisé:

$post->comments()->save($comment);

où je l'aurais utilisé:

$comment->post()->associate($post);

Est-il un avantage à l'un ou par l'autre? Ou est-ce juste une question de ce qui fait sens dans le contexte?

source d'informationauteur eimajenthat