как сделать простую звездную запись в symfony 3 - PullRequest
0 голосов
/ 15 ноября 2018

Добрый вечер, я стараюсь, чтобы пациенты обращали внимание на врачей, с которыми они консультировались, чтобы после поиска врачей сначала появились наиболее заметные.Но здесь я не знаю, как это сделать слишком много.И в первую очередь я добавил атрибут голосования в свою сущность.

Сущность

  class Medecin
 {
/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var string
 *
 * @ORM\Column(name="sexe", type="string", length=40)
 */
public $sexe;

/**
 * @var int
 *
 * @ORM\Column(name="note", type="integer")
 */
private $note = 0;

}

и вот мой файл ветки, гдеЯ также отображаю данные доктора со звездами:

Веточка

 <span class="rating">
                                {% for i in 1..5 %}
                                    <i class="icon_star {{ medecin.note >= (i * 20) ? 'voted' : ''}}"></i>
                                {% endfor %}
                        | <small>  <strong>{{ medecin.note }}</strong></small>
                    </span>

CSS

.rating i {
  color: #ddd;
  font-size: 13px;
  font-size: 0.8125rem;
}
.rating i.voted {
  color: #FFC107;
}
.rating small {
  margin-bottom: 0;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
}
.rating small a {
  color: #999;
  text-decoration: underline;
}

Моя проблема в том, что, когда я летаю над звездами, никаких действий не происходит.И тогда как записать голосование, когда пациент нажимает на количество голосов, и что его голос записывается присоединенному врачу?Спасибо

1 Ответ

0 голосов
/ 16 ноября 2018

Пожалуйста, используйте код на английском, а не на французском, голландском или китайском. Выберите английский для своей кодовой базы.

Вы должны иметь рейтинг объекта:

Доктор

class Doctor
{
    // ...

    /**
     * @ORM\OneToMany(targetEntity=“Rating”, mappedBy=“doctor”)
     */
    protected $ratings;

    // ...
}

Оценка

class Rating
{
    // ...

    /**
     * @ORM\Column(type=“integer”, name=“value”)
     */
    protected $value;

    /**
     * @ORM\ManyToOne(targetEntity=“Doctor”, inversedBy=“ratings”)
     */
    protected $doctor;

    /**
     * @ORM\ManyToOne(targetEntity=“Patient”, inversedBy=“ratings”)
     */
    protected $patient;

    // ...
}

Пациент

class Patient
{
    // ...

    /**
     * @ORM\OneToMany(targetEntity=“Rating”, mappedBy=“patient”, cascade={“persist”, “remove”})
     */
    protected $ratings;

    // ...
}
...