class AnalisiType extends AbstractType {
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options) {
if($options['data']->getIdProprietario()==NULL){
$data_proprietario='';
}else{
$data_proprietario=$options['data']->getIdProprietario();
}
$em = $this->getDoctrine()->getEntityManager();
$builder ->add('idProprietario', EntityType::class, array(
'label' => false,
'placeholder' => 'Seleziona Anagrafica se presente',
'class' => 'AppBundle:anagrafica',
'query_builder' => function (anagraficaRepository $er) {
return $er->createQueryBuilder('u')
->where('u.idTipologia = 1');
},
'choice_label' => 'ragione_sociale',
'data'=>$em->getReference("AppBundle:anagrafica",$options['data']->getIdProprietario()->getId()) ,
'attr' => array(
'class' => 'chosen-select'
),
))
私の目標は編集フォームのデフォルトデータに設定されています。フォーラムでの検索私は見つけること私のEntityTypeフォームでdoctrineを使う方法
'データ' => $ EM-> getReference( "AppBundle:anagrafica"、$オプション[ 'データ'] - > getIdProprietario() - >のgetId())、
正しい構文ですが、私はフォームでdoctrineを使用する方法を理解していません。 このフォームはいつも私が
私が使用を追加する必要がAttempted to call an undefined method named "getDoctrine" of class "AppBundle\Form\AnalisiType"
をエラー与える??????
私の唯一の解決策はサービスを作成することです??あなたはsymfonyの2.8上にある場合は値
services:
#service_name:
# class: AppBundle\Directory\ClassName
# arguments: ['@another_service_name', 'plain_value', '%parameter_name%']
感謝の助けのため..私はsymfony 3.3を持っていますが、今私は、このエラーキャッチできる致命的なエラーを持っている:AppBundle \フォーム\ AnalisiTypeに渡される引数1 :: __構築物()は、インターフェイスの教義を実装する必要があります\ ORM \ EntityManagerInterface、 Doctrine \ ORM \ EntityManagerInterfaceを追加しました。 –
@FrancescoArreghini残りのエラーは何ですか? – kunicmarko20
キャッチ可能な致命的なエラー:引数1をAppBundle \ Form \ AnalisiType :: __ construct()に渡すと、Doctrine \ ORM \ EntityManagerInterfaceインターフェイスが実装されていなくても、C:\ xampp \ htdocs \ richiesta_analisi \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ Form \ FormRegistry.php 85行目に定義されていて、 –