Les principales relations que vous aurez à utiliser dans vos modèles Eloquent sont illustrées ici.
/**
* Un modeleA peut avoir plusieurs modeleB (ou "peut être associé à").
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function modelesB() : HasMany
{
return $this->hasMany('App\ModeleB', 'nom_cle_etrangere', 'nom_cle_primaire');
}
/**
* Un modeleA appartient à un modeleB (ou "est associé à" ou "a").
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function modeleB() : BelongsTo
{
return $this->belongsTo('App\ModeleB', 'nom_cle_etrangere', 'nom_cle_primaire');
}
/**
* Un modeleA peut être associé à plusieurs modeleB.
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function modelesB() : BelongsToMany
{
return $this->belongsToMany('App\ModeleB', 'nom_table_pivot', 'nom_cle_etrangere_vers_table_actuelle', 'nom_cle_etrangere_vers_autre_table', 'nom_cle_primaire_dans_table_actuelle', 'nom_cle_primaire_dans_autre_table');
}
/**
* Un modeleA peut avoir un modeleB (relation de un à un).
*
* @return \Illuminate\Database\Eloquent\Relations\HasOne
*/
public function modeleB() : HasOne
{
return $this->hasOne('App\ModeleB', 'nom_cle_etrangere', 'nom_cle_primaire');
}
/**
* Un modeleA peut avoir plusieurs modeleB.
*
* @return \Illuminate\Database\Eloquent\Relations\HasManyThrough
*/
public function modelesB() : HasManyThrough
{
return $this->hasManyThrough('App\ModeleB', 'App\ModeleTableIntermediaire', 'nom_cle_etrangere_dans_table_intermediaire_vers_table_actuelle', 'nom_cle_etrangere_dans_table_eloignee_vers_table_intermediaire', 'nom_cle_primaire_dans_table_actuelle', 'nom_cle_primaire_dans_table_intermediaire');
}
▼Publicité