Bonjour,
Voila je rencontre un petit problème avec mon code. j'ai utilisé base de donnée mysql et l'api rest , code_ens c'est un clé étrangers , j'au besoin d'accèder à cette champs mais mon code est par défaut il il accède à le champs id de la table EnseignantHasGrade ,
/**
* @Rest\View()
* @Rest\Get("/grade_ens/{code_ens}")
*/
public function getGrEnsAction(Request $request)
{
$req= $this->get('doctrine.orm.entity_manager')
->getRepository('AppBundle:EnseignantHasGrade')
->find($request->get('code_ens'));
/* @var $ens Enseignant */
if (empty($req)) {
return new JsonResponse(['message' => 'grade enseignant not found'], Response::HTTP_NOT_FOUND);
}
$formatted = [
'code'=> $req->getCodeGrade(),
];
return new JsonResponse($formatted);
}
je veux accèder à le champs code_ens pour afficher une donnée "code grade"
{
"message": "grade enseignant not found"
}
Je te recommande de lire la documentation de Doctrine. Find est un alias pour faire une requête avec un WHERE sur la/les clé(s) primaire(s).
Ici tu dois faire :
$req= $this->get('doctrine.orm.entity_manager')
->getRepository('AppBundle:EnseignantHasGrade')
->findOneBy(['code_ens' => $request->get('code_ens')]);