ErrorException: Catchable Fatal Error: Объект класса не может быть преобразован в строку - вызвано выпадающим меню, но почему? - PullRequest
5 голосов
/ 27 сентября 2011

У меня есть следующий код, который извлекает слагов страниц из базы данных, которые необходимы для создания связанной подстраницы:

        $builder->add('subtocontentoptions', 'entity', array(
            'class' => 'ShoutAdminBundle:Content',
            'property' => 'slug',
            'query_builder' => function($repository) { 
                return $repository->createQueryBuilder('p')
                ->where('p.mainpage = :main')
                ->setParameter('main', '1')
                ->orderBy('p.created', 'ASC');
            }
        ));

Код работает, так как отображает выпадающее меню всехродительские страницы у меня есть.Однако при сохранении данных в базе данных появляется следующая ошибка:

ErrorException: Catchable Fatal Error: объект класса Shout \ AdminBundle \ Entity \ Content не может быть преобразован встрока в строке C: \ wamp \ www \ vendor \ doctrine-dbal \ lib \ Doctrine \ DBAL \ Statement.php 131

Я проверил содержимое файла сущности содержимого, и вотобъявляемая переменная:

/**
 * @var integer $subtocontentoptions
 *
 * @ORM\Column(name="SubToContentOptions", type="integer", nullable=false)
 */
private $subtocontentoptions;

И опустите файл сущности Content:

/**
 * Set subtocontentoptions
 *
 * @param integer $subtocontentoptions
 */
public function setSubtocontentoptions($subtocontentoptions)
{
    $this->subtocontentoptions = $subtocontentoptions;
}

/**
 * Get subtocontentoptions
 *
 * @return integer 
 */
public function getSubtocontentoptions()
{
    return $this->subtocontentoptions;
}

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

Спасибо

1 Ответ

10 голосов
/ 09 марта 2012

У меня была та же проблема с проектом sf2 / doctrine2, реализация метода __toString решила эту проблему для меня:

public function __toString()
{
    return strval($this->id);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...