В моем пространстве для пациентов есть список врачей, с которыми он записался на прием. И рядом с каждым врачом я хочу добавить понравившуюся мне кнопку, чтобы пациент мог определить, понравилась ли ему консультация или нет.доктор.И мне хотелось бы узнать количество пациентов, которым понравился данный врач.Чтобы этот номер отображался в данных врача.
Вот мой контроллер, где у меня есть список врачей
Контроллер
public function patientBookingListAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$medecin = $em->getRepository("DoctixMedecinBundle:Medecin")->findOneBy(array(
'user' => $this->getUser(),
));
$patient = $em->getRepository("DoctixPatientBundle:Patient")->findOneBy(array(
'user' => $this->getUser(),
));
$bookings = $em->getRepository("DoctixFrontBundle:Booking")->findBy(array(
"patient" => $patient
));
$bookings = $this->get('knp_paginator')->paginate($bookings, $request->query->get('page', 1), 3);
return $this->render('DoctixPatientBundle:Patient:bookings.html.twig', array(
'bookings' => $bookings
));
}
Я уже создал свою таблицу favour_doctor:
Entity favour_doctor
class MedecinFavoris
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Doctix\PatientBundle\Entity\Patient", inversedBy="medecin_favoris")
* @ORM\JoinColumn(name="patient_id", referencedColumnName="id")
*/
private $patient;
/**
* @ORM\ManyToOne(targetEntity="Doctix\MedecinBundle\Entity\Medecin", inversedBy="medecin_favoris")
* @ORM\JoinColumn(name="medecin_id", referencedColumnName="id")
*/
private $medecin;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set patient
*
* @param \Doctix\PatientBundle\Entity\Patient $patient
*
* @return MedecinFavoris
*/
public function setPatient(\Doctix\PatientBundle\Entity\Patient $patient = null)
{
$this->patient = $patient;
return $this;
}
/**
* Get patient
*
* @return \Doctix\PatientBundle\Entity\Patient
*/
public function getPatient()
{
return $this->patient;
}
/**
* Set medecin
*
* @param \Doctix\MedecinBundle\Entity\Medecin $medecin
*
* @return MedecinFavoris
*/
public function setMedecin(\Doctix\MedecinBundle\Entity\Medecin $medecin = null)
{
$this->medecin = $medecin;
return $this;
}
/**
* Get medecin
*
* @return \Doctix\MedecinBundle\Entity\Medecin
*/
public function getMedecin()
{
return $this->medecin;
}
}
Я хотел бы, чтобы, когда я нажимаю на кнопку, мои данные сохраняются в этой таблице..
Веточка
{% for booking in bookings %}
<div class="list_general" id="liste">
<a href="#0" class="wish_bt"></a>
<ul>
<li>
<figure><img src="{{ vich_uploader_asset(booking.medecin.media, 'imageFile') }}"
alt="{{ booking.medecin.media.imagename }}"></figure>
<h4>Dr. {{ booking.medecin.user.prenom|capitalize }} {{ booking.medecin.user.nom|upper }} <i class="pending">Pending</i></h4>
<ul class="booking_details">
<li><strong>Date et heure</strong>{{ booking.dateHeureRdv|date('d/m/Y') }}</li>
<li><strong>Heure</strong>{{ booking.dateHeureRdv|date('H:i') }}</li>
<li><strong>Motif</strong>Consultation</li>
<li><strong>Téléphone</strong>{{ booking.medecin.user.numTel }}</li>
<li><strong>Email</strong>{{ booking.medecin.user.username }}</li>
</ul>
<ul class="buttons">
<li><a href="{{ path('patient_booking_deplacer', {'id': booking.id}) }}?medecin={{ booking.medecin.id }}" class="btn_1 gray approve"><i class="fa fa-fw fa-check-circle-o"></i> Déplacer Rdv</a></li>
<li><a href="{{ path('patient_booking_annuler', {'id': booking.id}) }}" class="btn_1 gray delete"><i class="fa fa-fw fa-times-circle-o"></i> Annuler</a></li>
</ul>
</li>
<div class="like">
<a href="#" class="fa fa fa-thumbs-up">Like</a>
</div>
</ul>
</div>
{% endfor %}
Теперь я не знаю точно, что делать, когда нажимаю кнопку «Нравится».Зная, что когда пациенту нравится, данные должны регистрироваться в базе данных, и кнопка «Мне нравится» также должна исчезать, чтобы больше не позволять ему голосовать два или более раз.
Большое спасибо