Dans Laravel, lorsque vous exploitez des relations plusieurs à plusieurs via Eloquent, l'accès à des colonnes supplémentaires dans le tableau croisé dynamique peut être simplifié. Ces colonnes supplémentaires peuvent fournir des informations précieuses reliant les modèles associés.
Pour permettre l'accès à ces colonnes, elles doivent être explicitement spécifiées lors de la définition de la relation :
return $this->belongsToMany('Role')->withPivot('foo', 'bar');
Cela garantit que le modèle résultant L'attribut pivot inclura les colonnes spécifiées.
Dans le scénario fourni, l'objectif est de récupérer la valeur du prix pour un modèle de téléphone et un problème de téléphone spécifiques à l'aide de leurs slugs. L'approche suivante est recommandée :
$model = $phoneService->getModelFromSlug($model_slug); $problem = $phoneService->getProblemFromSlug($problem_slug); $price = $model ->problems() ->where('phone_problem_id', $problem->id) ->first() ->pivot->price;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!