Косяк в комментариях (РЕШЕНО)
Приветствую, сегодня с утрица возникала вот такая ошибка!
Был топик, там были комменты, автор, как я понял удалил топик, но комменты почему в прямом эфире остались и выводят ошибку
Fatal error: Call to a member function getBlog() on a non-object in /home/*******.ru/www/templates/compiled/******/e59c47ebebf6f89c0cfae1d07e9c26bb1f639c1d.file.comment_list.tpl.php on line 31
Попробовал продублировать ошибку на тестовом сайта, не удалось.
В чем может быть беда? То есть часть прямого эфира выводится норм, но как доходит до этого то все ошибка.
Такая же ситуация в профиле пользователя в созданных комментариях.
UPD нашел в логах такую ошибку
UPD2 aVadim, пытался помочь через БД но так и не нашли, вобщем сделали проверку на наличие топика и юзера в шаблоне.
Был топик, там были комменты, автор, как я понял удалил топик, но комменты почему в прямом эфире остались и выводят ошибку
Fatal error: Call to a member function getBlog() on a non-object in /home/*******.ru/www/templates/compiled/******/e59c47ebebf6f89c0cfae1d07e9c26bb1f639c1d.file.comment_list.tpl.php on line 31
Попробовал продублировать ошибку на тестовом сайта, не удалось.
В чем может быть беда? То есть часть прямого эфира выводится норм, но как доходит до этого то все ошибка.
Такая же ситуация в профиле пользователя в созданных комментариях.
UPD нашел в логах такую ошибку
[2013-01-27 15:36:10][4709][1437][ERROR][SQL Error: Deadlock found when trying to get lock; try restarting transaction at /home/******.ru/www/classes/modules/user/mapper/User.mapper.class.php line 131 Array ( [code] => 1213 [message] => Deadlock found when trying to get lock; try restarting transaction [query] => REPLACE INTO mr_session SET session_key = '*************************' , user_id = '1800' , session_ip_create = '127.0.0.1' , session_ip_last = '127.0.0.1' , session_date_create = '2013-01-27 15:36:10' , session_date_last = '2013-01-27 15:36:10' [context] => /home/******.ru/www/classes/modules/user/mapper/User.mapper.class.php line 131 ) ] [2013-02-23 19:18:05][2911][8097][ERROR][SQL Error: Cannot delete or update a parent row: a foreign key constraint fails (`****`.`mr_comment`, CONSTRAINT `mr_topic_comment_fk` FOREIGN KEY (`comment_pid`) REFERENCES `mr_comment` (`comment_id`) ON DELETE CASCADE ON UPDATE CASCADE) at /home/*******.ru/www/classes/modules/comment/mapper/Comment.mapper.class.php line 525 Array ( [code] => 1451 [message] => Cannot delete or update a parent row: a foreign key constraint fails (`******`.`mr_comment`, CONSTRAINT `mr_topic_comment_fk` FOREIGN KEY (`comment_pid`) REFERENCES `mr_comment` (`comment_id`) ON DELETE CASCADE ON UPDATE CASCADE) [query] => DELETE FROM mr_comment WHERE target_id IN ('2624') AND target_type = 'topic' [context] => /home/*****.ru/www/classes/modules/comment/mapper/Comment.mapper.class.php line 525 ) ]
UPD2 aVadim, пытался помочь через БД но так и не нашли, вобщем сделали проверку на наличие топика и юзера в шаблоне.
Красивый номер сотового телефона, купленный на сайте http://www.westek.ru, повышает узнаваемость бренда в рекламе. И влечет за собой постоянное увеличение количества клиентов.
12 комментариев
Восстановить нормальную работу можно, удалив из таблицы comments_online комментарий к несуществующему уже топику. Разумеется, это должно происходить автоматом без участия человека, но автор движка, видимо, иного мнения.
что то типа if $oTopic, так же советую сделать проверку на наличие блога
Не лечится. В var_dump объекты попадают, нужное выводится. Но ошибка не лечится условием. Пробовал найти не существующий коммент в БД, но результат = 0. Очаялся :(
P.S. У меня это в поиске по комментам, но думаю суть не важно, ошибка из-за одного и того же получатся, если бы не поиск даже не увидал бы.
можно ваш кусок кода по выводу комментов этих или какой шаблон, там может другое проканает.
{if $oTopic->getUrl()}
только надо попробоватьв разные места это вставлять
я бы попробовал перед переменными
{assign var=«oBlog» value=$oTopic->getBlog()}
{assign var=«oShop» value=$oTopic->getShop()}
например где только идет вызов oTopic
Найти не смог. Но сработало:
Хотя раньше уже пробовал. Спасибо за помощь!
Которого нет.