mam pewien problem z podpięciem filtrowania do wyświetlania danych w adminie.
Ogólnie admin służy do zarządzania artykułami. Każdy artykuł może być napisany przez więcej niż 1 autora.
Formularz filtracji prezentuje się tak:
http://phpworkstation.com/filters.png
przy czym lista autorów jest tworzona poprzez partial:
apps/admin/modules/articles/templates/_author.php
<?php use_helper('Object'); ?> AuthorsPeer::doSelect(new Criteria()), 'getId', '__toString' )) ?>
Mój generator.yml przedstawia się tak:
... list: display: [title, description, created_at] filters: [title, created_at, visible, _author] object_actions: _edit: - _delete: - title: Artykuły fields: author: name: Author #?
...
I co bym nie zrobił, jak bym nie próbował (related_class, through_class...) zawsze w rezultacie otrzymuje wynikowe zapytanie SQL bez kryterium autora tj. np.
SELECT articles.ID, articles.TITLE, articles.DESCRIPTION, articles.CREATED_AT, articles.NOTE, articles.VISIBLE FROM articles WHERE articles.VISIBLE=1 LIMIT 20
Struktura i łączenia tabel wyglądają tak:
articles (id, title...) authors (id, name...) articles_authors (article_id, author_id)
W jaki sposób dodać (i zmusić do działania) filtrowanie artykułów po autorze? Oraz w jaki sposób ustawić wartość aktualnie wybranej pozycji w selecie żeby nie pokazywała zawsze wartości początkowej (użyć po prostu $_GET?).
Pozdrawiam: pion
Z myślą o przyszłych pokoleniach:
http://www.symfony-project.com/snippets/snippet/41