Récupération d'une valeur de colonne de tableau croisé dynamique supplémentaire dans Laravel
Dans votre application Laravel, vous avez défini un tableau croisé dynamique phone_model_phone_problem avec une colonne supplémentaire appelée 'prix'. Vous souhaitez récupérer la valeur du prix pour un modèle de téléphone et un problème spécifiques.
Bien que votre approche actuelle utilisant du SQL brut soit fonctionnelle, Laravel fournit une solution plus élégante. En spécifiant la colonne du tableau croisé dynamique lors de la définition de la relation Plusieurs à Plusieurs, vous pouvez accéder à la valeur via l'attribut pivot :
return $this->belongsToMany('PhoneModel')->withPivot('price');
Cela créera un attribut pivot dans votre modèle phone_problem, vous permettant d'accéder au ' valeur de la colonne price' directement :
$price = $problem->models()->where('phone_model', $model->id)->first()->pivot->price;
Cette approche est plus concise et utilise les fonctionnalités intégrées d'Eloquent, évitant ainsi le besoin de SQL brut requêtes.
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!