Mam nadzieje, ze bedziecie mi w stanie pomoc. Problem dotyczy, raczej poczatkujacego, zagadnienia z Sonaty. Otoz probuje stworzyc relacje one to many pomiedzy dwoma klasami, cos na wzor prostego przykladu Posta i Komentarzy. Tylko u mnie jest to Car i CarRevision.
Klasa Car ma swoje id, opis itp. CarRevision ma zadeklarowana relacje do Car przez car_id.
Teraz probuje osiagnac to co stoi tutaj w dokumentacji w punkcie 4.6 Create Child Admins
http://sonata-project.org/bundles/admin/2-...chitecture.html
Czyli aby pod przykladowym linkiem /car/{id}/carrevision/list miec spis rewizji dla danego car_id.
Wg dokumentacji, nalezy a) dodac metode AddChild w konfiguracji
<service id="sonata.news.admin.post" class="Sonata\NewsBundle\Admin\PostAdmin"> ... <call method="addChild"> <argument type="service" id="sonata.news.admin.comment" /> </call> </service>
oraz

namespace Sonata\NewsBundle\Admin; ... class CommentAdmin extends Admin { protected $parentAssociationMapping = 'post'; }
U mnie wyglada to tak
Config
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services <a href="http://symfony.com/schema/dic/services/services-1.0.xsd">" target="_blank">http://symfony.com/schema/dic/services/ser...0.xsd"></a> <services> <service id="sonata.admin.car" class="Projekt\ComparisonBundle\Admin\CarAdmin"> <tag name="sonata.admin" manager_type="orm" group="Content" label="Cars" /> <argument /> <argument>Projekt\Comparison\Car\Car</argument> <argument>ProjektComparisonBundle:Car</argument> <call method="addChild"> <argument type="service" id="sonata.admin.carrevision" /> </call> </service> <service id="sonata.admin.carrevision" class="Projekt\ComparisonBundle\Admin\CarRevisionAdmin"> <tag name="sonata.admin" manager_type="orm" group="Revisions" label="Cars" /> <argument /> <argument>Projekt\Comparison\Car\CarRevision</argument> <argument>ProjektComparisonBundle:CarRevision</argument> </service> </services> </container>
Klasa admin
namespace Projekt\ComparisonBundle\Admin; use Sonata\AdminBundle\Admin\Admin; use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Datagrid\DatagridMapper; use Sonata\AdminBundle\Datagrid\ListMapper; class CarRevisionAdmin extends Admin { protected $parentAssociationMapping = 'car'; }
I teraz nie rozumiem, czy to juz jest rzekomo koniec konfiguracji? Przy takim kodzie i konfiguracji jak powyzej, dostaje blad o braku w klasie Admin zmiennych baseRouteName i baseRoutePattern. Te z za bardzo nie wiem jak ustawic dla 'dziecka'. I czemu wogole u mnie system tego sie domaga.
URL /projekt/comparison/car/1/carrevision/list pokazuje mi 'no route found'.
Czego to brakuje albo co jest zle? Z gory dzieki za pomoc