В настоящее время я настраиваю страницу веб-сайта (страница «записей»), которая подсчитывает общее количество людей, которые перешли на другую страницу веб-сайта (страница «сайт»), поэтому я установил файл cookie на странице сайта, который увеличивает указанные данные в база данных.
Я видел, как другие пользователи сталкивались с этой проблемой, потому что они включали оператор «И» в свой оператор «SET». Однако у меня нет оператора "И"
В моем репозитории у меня есть этот код:
public function addConnections($name): int
{
$qb = $this->createQueryBuilder('connectionCounter')
->update('App\Entity\site', 'connectionCounter')
->set('connectionCounter.nbConnections', 'connectionCounter.nbConnections + 1')
->where('connectionCounter.name = (:name)')
->setParameter('name', $name)
->getQuery();
return $qb->execute();
}
и в моем контроллере у меня есть этот код:
if ($repository)
{
$query = $this->getDoctrine()
->getRepository(Activity::class)
->findActivities($repository[0]->getIdSite());
$cookieCreator = 0;
if (!isset($_COOKIE['Connection'])) {
setcookie("Connection","1",time()+60*60*24*100);
$connections = $this->getDoctrine()
->getRepository(Site::class)
->addConnections($repository[0]->getIdSite());
}
Я ожидаю, что моя база данных будет обновляться, и когда я перехожу на страницу записей, я вижу, что количество посещений увеличилось.
На самом деле происходит следующее:
An exception occurred while executing 'UPDATE site SET nb_connections = nb_connections + 1 WHERE name = (?)' with params [2]:
SQLSTATE[22007]: Invalid datetime format: 1292 Truncated incorrect DOUBLE value: 'X '
Даже объяснение того, почему это могло произойти, было бы здорово!
Не волнуйтесь, я только что нашел решение. В моем контроллере есть getIdSite, хотя должен быть getName. В любом случае спасибо!






Небольшой недосмотр с моей стороны, в моем контроллере у меня есть:
->addConnections($repository[0]->getIdSite());
Когда должно быть:
->addConnections($repository[0]->getName());
Я поменял, теперь работает. Прости!
Какая у вас схема стола? Должно быть,
nb_connections- это дата и время, поэтому вы не можете просто добавить к нему 1.