Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [symfony] Artykuł z wieloma autorami
Forum PHP.pl > Forum > PHP > Frameworki
phpion
Hejka,
na razie jestem w fazie poznawania frameworków i żongluję między ZF a Symfony. Mam pewien problem z Symfony, a konkretnie to nawet nie wiem jak się do tego zabrać. Sprawa wygląda tak:
Mam tabelę 'articles' (id, title...), w której znajdują się wpisy. Druga tabela to 'authors' z danymi autorów (id, imię, nazwisko...). Całość łączę przy pomocy 'articles_authors' o polach article_id oraz author_id. W ZF całość połączyłem ręcznie poprzez 2 zapytania, natomiast w jaki sposób wygenerować sobie odpowiedni formularz w generatorze admina w Symfony zawierający dane artykułu oraz <select> z możliwością wyboru więcej niż 1 autora? Kompletnie nie mam pojęcia jak się do tego zabrać... :/
Cała trutkura tabel:
  1. CREATE TABLE articles (
  2. id MEDIUMINT (6) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
  3. title VARCHAR (80) NOT NULL,
  4. date DATETIME NOT NULL,
  5. note ENUM ('1', '2', '3', '4', '5') NULL DEFAULT NULL,
  6. visible ENUM ('0', '1') NOT NULL DEFAULT '1',
  7. INDEX (id, date, visible)
  8. ) Engine=InnoDB;
  9.  
  10. CREATE TABLE authors (
  11. id SMALLINT (3) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
  12. name VARCHAR (20) NOT NULL,
  13. surname VARCHAR (40) NOT NULL,
  14. visible ENUM ('0', '1') NOT NULL DEFAULT '1',
  15. INDEX (id, visible)
  16. ) Engine=InnoDB;
  17.  
  18. CREATE TABLE articles_authors (
  19. article_id MEDIUMINT (6) UNSIGNED NOT NULL,
  20. author_id SMALLINT (3) UNSIGNED NOT NULL,
  21. INDEX (article_id),
  22. FOREIGN KEY (article_id) REFERENCES articles (id) ON DELETE CASCADE,
  23. FOREIGN KEY (author_id) REFERENCES authors (id) ON DELETE CASCADE
  24. ) Engine=InnoDB;

Nie podaję zawartości plików yml bo po prostu jeszcze ich nie mam. Nie wiem jak to ugryźć, proszę o podpowiedź.
defrag
http://www.symfony-project.com/snippets/snippet/202

Jednak to w twoim przypadku nie jest najlepsze rozwiazania, bo autorow przeciez moze byc mnostwo i taka dluga lista jest bardzo nieporeczna. Najlepiej zrobic to przy uzyciu ajaxa. W symfony masz helpera ajax_autocomplete tag ktory jest banalny w obsludze. Pod eventa np na <li onlclick=...> wstawiasz poprzez dom do formularza nowy input z autorem wybranym poprzez suggest. Kiedys tak wlasnie rozwiazalem problem ktory przedstawiles w tym poscie.
phpion
Dzięki, nie jestem do końca pewien czy to zda egzamin ale przynajmniej mam jakiś punkt zaczepienia. Dzięki.

Prawdopodobnie znalazłem rozwiązanie:
http://www.symfony-project.com/book/trunk/...rs#Many-to-Many Relationships
Coprawda jeszcze nie próbowałem ale za pamięci podaje link. Może komuś się przyda.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.