2015-01-21 2 views
2

у меня есть объект, который имеет Agence атрибут nbView, я хотел бы, чтобы увеличить nbView + 1 когда профиль просмотра посетитель Agence. но сейчас, если тот же посетитель обновит страницу, nbView всегда будет увеличиваться + 1, и это не очень хорошо.Как обрабатывать количество просмотров

public function viewAction(Agence $agence, $slug, Request $request) 
{ 
    $em = $this->getDoctrine()->getManager(); 
    //....... 
    $agence = $em->getRepository('ProjectAgenceBundle:Agence')->findOneBySlug($slug); 

    // incrempent nbView 
    $agence->setNbView($agence->getNbView() + 1); 
    $em->persist($agence) ; 
    $em->flush() ; 

    //................. 
    return $this->render('ProjectFrontendBundle:Agence:agence-detail-view.html.twig', 
    array(
     'agence' => $agence, 
     'travel' => $travel, 
     'contact_agence_form' => $form_contact->createView(), 
    )); 
} 

Каков правильный способ сделать это?

+0

Вы можете использовать сеанс, печенье и/или ip log? – Brewal

+0

Это означает, что я должен создать объект NnbView и сохранить сеансы и время посещения ....? – hous

+0

Я бы лично использовал файлы cookie – Brewal

ответ

0

В качестве способа вы можете добавить дополнительный объект UserViewedAgence (идентификатор, user_id, user_agence_id) Перед обновлением просмотренного AGENCE счетчик, вы должны проверить, если пользователь уже просмотрел AGENCE

Смежные вопросы