我有一个实体Agence,其属性为 nbView ,我想在访问者查看配置文件时增加 nbView + 1 。但是现在如果同一个访问者刷新页面,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 :(得分:0)
作为一种方式,您可以添加其他实体UserViewedAgence (ID, 用户身份, user_agence_id) 在更新已查看的年龄计数器之前,您必须检查用户是否已查看过该年龄