Nano Hash - криптовалюты, майнинг, программирование

Ошибка Sonata Admin ManyToOne: sonata_type_collection - сопоставление: 2

Я хочу использовать функцию Sonata Admin Gallery в моем News Entity. Вот мой код

Новости.yml

....

manyToOne:
    gallery:
        targetEntity: Application\Sonata\MediaBundle\Entity\Gallery
        inversedBy: news_gallery
        cascade: ["persist"] 
        nullable: true

Галерея.orm.xml

....

<one-to-many field="news_gallery" 
                 target-entity="Wenweipo\NewsBundle\Entity\News"
                 mapped-by="gallery" /> 

NewsAdmin.php

protected function configureFormFields(FormMapper $formMapper) {

    $formMapper
        ->add('gallery', 'sonata_type_collection', array(
                'cascade_validation' => true,
                    ), array(
                'edit' => 'inline',
                'inline' => 'table',
                'sortable' => 'position',
                'link_parameters' => array(
                    'context' => 'images_news',
                ),
                        'admin_code'=>'sonata.media.admin.gallery_has_media'
            ))

}

Теперь, когда я запускаю свой код администратора, я получаю эту ошибку.

INVALID MODE : s543e4bf7bc21f_gallery - type : sonata_type_collection - mapping : 2 

Что я делаю неправильно?


  • попробуйте использовать sonata_type_model 16.10.2014

Ответы:


1

Попробуйте создать собственное отношение, которое будет содержать NewsHasMeda как GalleryHasMedia

News.orm.yml

........
oneToMany:
    news_has_media:
        targetEntity: Wenweipo\NewsBundle\Entity\NewsHasMedia
        mappedBy: news 
        cascade: ["persist","remove"]
        orphanRemoval: true

Теперь создайте другой объект с именем NewsHasMedia.yml. Затем в файле yml добавьте такой код

NewsHasMedia.orm.yml

........
fields:

    enabled:
        type: boolean
        nullable: true
    position:
        type: integer
        nullable: true
    createdAt:
        type: datetime
        column: created_at
        nullable: true
    updatedAt:
        type: datetime
        column: updated_at
        nullable: true


manyToOne:

    media:
        targetEntity: Application\Sonata\MediaBundle\Entity\Media
        cascade: ["persist"]
        joinColumn:
            name: media_id   
            referencedColumnName: id
            #nullable: true 

    news:
        targetEntity: News
        inversedBy:  news_has_media
        cascade: ["persist"]
        joinColumn:
            name: news_id   
            referencedColumnName: id

Затем создайте этот объект. Теперь в файле администратора добавьте этот объект.

NewsAdmin.php

->add('news_has_media', 'sonata_type_collection', array(

   'cascade_validation' => true), array(

            'edit' => 'inline',
            'inline' => 'table',
            'sortable' => 'position',
            'link_parameters' => array(
                'context' => 'images_news',
            ),

        ))

теперь не нужно указывать admin_code. Надеюсь, это решит вашу проблему.

20.10.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..