Ошибка Symfony при отправке формы .... "должен быть экземпляром varchar, задана строка" - PullRequest
1 голос
/ 20 сентября 2011

Запуск Symfony2

При отправке формы я получаю сообщение об ошибке:

    Catchable Fatal Error: Argument 1 passed to Depot\StarterBundle\Entity\Application::setPropAddr() must be an instance of varchar, string given, called in C:\wamp\www\Symfony\vendor\symfony\src\Symfony\Component\Form\Util\PropertyPath.php on line 346 and defined in C:\wamp\www\Symfony\src\Depot\StarterBundle\Entity\Application.php line 211 

Вот такой блок:

 /**
 * Set prop_addr
 *
 * @param varchar $propAddr
 */
public function setPropAddr(\varchar $propAddr)
{
    $this->prop_addr = $propAddr;
}

/**
 * Get prop_addr
 *
 * @return varchar 
 */
public function getPropAddr()
{
    return $this->prop_addr;
}

Если яудалите / varchar из "\ varchar $ propAddr" в функции setPropAddr (), это работает.Но эта сущность была создана из командной строки, поэтому здесь должна быть большая проблема.

А вот строка в моем Application.orm.yml

 prop_addr:
    type: string(255)

В чем проблема?

1 Ответ

3 голосов
/ 20 сентября 2011

public function setPropAddr(\varchar $propAddr) Это явно неправильно, похоже, что он взял тип DB и добавил его в качестве Class TypeHint.Как правило, вы ничего не должны генерировать автоматически с Doctrine2 (удержит вас от перезаписи и исправления неправильно сгенерированных сеттеров)

...