Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [symfony] Artykuł z wieloma autorami
phpion
post 17.07.2007, 11:46:20
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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ź.
Go to the top of the page
+Quote Post
defrag
post 17.07.2007, 12:17:26
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 3
Dołączył: 15.01.2007

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
phpion
post 17.07.2007, 18:41:53
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.

Ten post edytował phpion.com 18.07.2007, 08:46:49
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 15:13