Reputation: 39
I have the following error that I do not understand: "Attempted to call function "pasPointer" from namespace "App\Controller"." The code that goes with it:
public function emargementsParCours(EntityManagerInterface $em, Request $request): Response
{
$session = $this->get('session');
$user = $this->getUser();
$teacherId = $user->getId();
$idCours = $request->get('idCours');
//dd($idCours);
$utilisateurEtudiant = $this->getDoctrine()->getRepository(Utilisateur::class)->find($user);
$listeDePointage = $em->getRepository(ProfCours::class)->findHorairesParCours($em, $teacherId, $idCours);
return $this->render('profEmargementsParCours.twig', array(
'listeDePointage' => $listeDePointage,
'prenom' => $user->getPrenomUtilisateur(),
'nom' => $user->getNomUtilisateur()));
}
public function listeEmargementsPassesParCours(EntityManagerInterface $em, Request $request): Response
{
$pasdePointage = pasPointer($idCours, $idDate, $idCreneau);
return $this->render('panelProfListeEmargements.twig', array(
'pasdePointage' => $pasdePointage,
'prenom' => $user->getPrenomUtilisateur(),
'nom' => $user->getNomUtilisateur()));
}
// function called
public function pasPointer($idCours, $idDate, $idCreneau) {
// SQL function executed
$requestPasPointer = "SELECT ec.etudiant
FROM etudiant_cours ec
left JOIN pointage po
inner JOIN utilisateur u
on u.id = po.utilisateur_etudiant_id
inner JOIN cours_planning cp
on cp.id = po.cours_id
and cp.cours = :conditions_particulieres_generales_client
and cp.plage_horaire_id = :conditions_particulieres_generales_client
and cp.date_cours = :conditions_particulieres_generales_client
ON po.utilisateur_etudiant_id = ec.etudiant
where po.utilisateur_etudiant_id is null";
$exectPasPointer = $bdd->prepare( $requestPasPointer );
$exectPasPointer->execute( array(
':idCours' => $idCours,
':idDate' => $idDate,
':idCreneau' => $idCreneau
));
}
I want to get the result of the function, but i don't understand this error. The functions are in the same Controller, i do a simple call. and idea? thank you!
Upvotes: 0
Views: 196
Reputation: 4701
I think your function pasPointer
lives inside of your controller class. If this is the case, change this line:
$pasdePointage = pasPointer($idCours, $idDate, $idCreneau);
To:
$pasdePointage = $this->pasPointer($idCours, $idDate, $idCreneau);
You will notice the addition of $this->
in my suggestion. $this
is a reference to the current object (the controller class) and ->
is used to call a method on your controller class (if pasPointer
is living in your controller class, it is a method of your class).
Upvotes: 1