Wpis z mikrobloga

#symfony2 #php #programowanie

mam taki formularz:

- nazwa
- opcja 1
- opcja 2

Chce zrobić cos takiego abym mógł dodać naraz kilka rekordów 'nazwa' z tymi samymi właściwościami z opcja 1 i opcja 2.
Jak to zrobić w #symfony?
Oczywiście to ile miałoby być nazwa zależy ode mnie, klikam na przycisk dodaj pozycje i mam formularz:
- nazwa
- nazwa
- opcja 1
- opcja 2

i dodaje mi to 2 rekordy do bazy
  • 5
wiem że mógłbym to zrobić na collection ale wymagałoby to dodatkowej encji i kolejnej tabeli w bazie. Zastanawiam się jednak czy da się to jakoś obejść aby mieć tylko jedną tabelę?
@qwelukasz: Nie rozumiem pytania.

1. Jak wygląda Twoja encja (pola)?
2. „Nazwa” jak rozumiem identyfikuje encję?
3. Co to są te „opcje”? Pola encji?
4. Chcesz utworzyć kilka encji o różnych nazwach, ale takich samym opcjach?
5. Jak chcesz, żeby to wyglądało z punktu widzenia GUI?
@MacDada:

1.:
class Domain
{
...
/**
* @var string
* @ORM\Column(type="string", nullable=false)
* @Assert\NotBlank()
* @Assert\NotNull()
* @Assert\Regex("/^(?:[-a-z0-9]+\.)+[a-z]{2,6}$/")
*/
private $domain;

/**
* @var string
* @ORM\Column(type="string", nullable=false)
* @Assert\NotBlank()
*/
private $language;

/**
* @var string
* @ORM\Column(type="string", nullable=false, options={"default":"new"})
*/
private $status;
...

czyli $domain - nazwa
$language - opcja 1
$status - opcja 2

czyli chce formularz gdzie podam kilka
@qwelukasz: IMHO oderwij formularz od encji: zrób sobie DTO lub oprzyj go po prostu o domyślnego arraya.

Dodatkowo utwórz sobie usługę DomainAdder->add(array $names, $language, $status), która sama zmapuje dane do encji i zapisze (odpal z kontrolera na podstawie danych formularza).