«Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.»

Стив Макконнелл

Моё резюме:


May 16, 2013

Различные виды связей сущностей в Sonata Admin

Symfony2, PHP, Sonata Admin


Во всех примерах поля прописываются в админ классе в методе configureFormFields


  1. many-to-many - селект с множественным выбором
    ->add('contacts', 'sonata_type_model', array('label' => 'Extra contacts', 'by_reference' => false, 'multiple' => true, 'expanded' => false, 'compound' => false, 'required' => false))

    Результат:


  2. many-to-many - чекбоксы
    ->add('contacts', 'sonata_type_model', array('label' => 'Extra contacts', 'by_reference' => false, 'multiple' => true, 'expanded' => true, 'required' => false))

    Результат:


  3. many-to-one - обычный селект
    ->add('user', 'sonata_type_model', array('label' => 'User'))

    Результат:


  4. many-to-one - list выборка
    ->add('location_city', 'sonata_type_model_list', array('label' => 'City', 'required' => false))

    Результат:


  5. one-to-many - inline добавление связанной сущности
    ->add('contacts', 'sonata_type_collection', array('label' => 'Extra contacts', 'by_reference' => false), array( 'edit' => 'inline', 'inline' => 'table', ))

    Результат:




comments powered by Disqus