У меня возникла проблема при создании выпадающего списка (категория, подкатегория) вместо ввода текстовых полей в FormBuilderInterface Когда я меняю его на ввод текста, все работает хорошо.Ожидаемый аргумент типа «строка», значение MyEntity
Вот мой код FormType
namespace Expatservice\ManagerBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Doctrine\ORM\EntityRepository;
class ServiceType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title')
->add('category', EntityType::class, array(
'class' => 'ExpatserviceCategoryBundle:Category',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('c')
->where('c.parent = 0')
->orderBy('c.title', 'ASC');
},
'choice_value' => 'title',
'choice_label' => 'title'
))
->add('subcategory', EntityType::class, array(
'class' => 'ExpatserviceCategoryBundle:Category',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('c')
->where('c.parent = 2')
->orderBy('c.title', 'ASC');
},
'choice_value' => 'title',
'choice_label' => 'title'
))
->add('description')
->add('image', FileType::class, array('data_class' => null, 'required'=>false));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaultOptions(array('data_class' => 'Expatservice\ManagerBundle\Entity\Service'));
}
public function getName()
{
return 'expantservice_managerbundle_service';
}
}
Я понимаю проблему, но не может понять, как это исправить, и не не нашел ничего в Интернете.
Ваш вопрос не ясен. Можете ли вы рассказать нам, в какой строке происходит ошибка, и указать линию. Благодаря! –
Я не уверен, что правильно понимаю, но имеет ли объект, о котором идет речь, функцию '__toString()'? – pusle
Элвин, точная строка: «Ожидаемый аргумент типа« строка »,« Expatservice \ CategoryBundle \ Entity \ Category », указанный« UnexpectedTypeException: if (! Is_scalar ($ value) &&! (Is_object ($ value) && method_exists ($ value, '__toString'))) { throw new UnexpectedTypeException ($ value, 'string'); } $ stringValue = (string) $ value; –