Wpis z mikrobloga

buduję sobie formularz :

$builder
->add('name')
->add('description')
->add('deadline','datetime',
array(
'widget' => 'single_text',
'format' => 'yyyy-MM-dd',
'invalid_message' => 'Wprowadź poprawną datę'
)
)
->add('status')
->add('workTime')
->add('attachments')
->add('userId')
;

i mam pytanie, jak zrobić żeby do pola userId automatycznie została przypisana encja istniejącego użytkownika w systemie? Da się w ogóle to zrobić? Symfony w ogóle umożliwia takie automagiczne mapowanie pola z encją?

#symfony #symfony2 #webdev #php #programowanie
  • 12
@kmicolo:

$builder
->add('name')
->add('description')
->add('deadline','datetime',
array(
'widget' => 'single_text',
'format' => 'yyyy-MM-dd',
'invalid_message' => 'Wprowadź poprawną datę'
)
)
->add('status')
->add('workTime')
->add('attachments')
->add('userId', 'entity', ['class' => 'AppBundle\Entity\User'])
;

tak wygląda teraz mój builder i kurde dostaję : "An exception occurred while executing 'UPDATE task SET status = ?, userid = ? WHERE id = ?' with params [\"wykonane\", {\"initializer\":null,\"cloner\":null,\"isInitialized\":true}, 6]:\n\nObject of class Proxies_CG__\AppBundle\Entity\User could
@kmicolo: łooo #!$%@?, działa :) Dzięki mistrzu, nieźle mi to teraz zaoszczędzi problemów :) A co do definiowania tablicy, to niedawno używałem [] ale było to później dla mnie mniej czytelne...
@kmicolo: a jestem w stanie to samo zrobić z kolekcją idków? chodzi mi o sytuację kiedy nie przesyłam tylko jednego identyfikatora a wiele jako tablicę identyfikatorów? Kombinuję coś z :

$builder
->add('name')
->add('description')
->add('deadline','datetime',
array(
'widget' => 'single_text',
'format' => 'yyyy-MM-dd',
'invalid_message' => 'Wprowadź poprawną datę'
)
)
->add('status')
->add('workTime')
->add('attachments', 'collection',
[
'type' => 'entity',
'options' => [
'class' => 'Application\Sonata\MediaBundle\Entity\Media',
]
]
)
->add('user', 'entity',
[
'class' => 'AppBundle\Entity\User',
'choices'