Ошибка расширения модуля блога на $ many_many - PullRequest
0 голосов
/ 25 марта 2019

Я использую модуль Silverstipe / Blog в качестве базового функционала блога. Я собираюсь расширить область, которая такая же функциональность, с категорией и тегами.

К сожалению, $ many_many не работает с моим расширенным файлом.

Это ошибка, с которой я сталкиваюсь.

[Emergency] Uncaught LogicException: отношение_many_many MyProject \ Model \ BlogIndustry.BlogPosts указывает на SilverStripe \ Blog \ Model \ BlogPost без соответствия many_many

Это мой дополнительный объект DataObject.

<?php

namespace MyProject\Model;

use SilverStripe\ORM\DataObject;
use Silverstripe\Blog\Model\BlogObject;
use Silverstripe\Blog\Model\CategorisationObject;
use SilverStripe\Blog\Model\Blog;
use SilverStripe\Blog\Model\BlogPost;

/**
 * A blog tag for keyword descriptions of a blog post.
 *
 *
 * @method Blog Blog()
 *
 * @property string $Title
 * @property string $URLSegment
 * @property int $BlogID
 */
class BlogIndustry extends DataObject implements CategorisationObject
{


    /**
     * Use an exception code so that attempted writes can continue on
     * duplicate errors.
     *
     * @const string
     * This must be a string because ValidationException has decided we can't use int
     */
    const DUPLICATE_EXCEPTION = 'DUPLICATE';

    /**
     * {@inheritDoc}
     * @var string
     */
    private static $table_name = 'EllisCo_BlogIndustry';

    /**
     * @var array
     */
    private static $db = [
        'Title'      => 'Varchar(255)',
        'URLSegment' => 'Varchar(255)'
    ];

    /**
     * @var array
     */
    private static $has_one = [
        'Blog' => Blog::class
    ];

    /**
     * @var array
     */
    private static $belongs_many_many = [
        'BlogPosts' => BlogPost::class
    ];

    /**
     * {@inheritdoc}
     */
    protected function getListUrlSegment()
    {
        return 'industry';
    }

    /**
     * {@inheritdoc}
     */
    protected function getDuplicateError()
    {
        return _t(__CLASS__ . '.Duplicate', 'A blog industry already exists with that name.');
    }
}

Это то, что я включил в расширенный файл

private static $many_many = [
        "Industries" => BlogIndustry::class,
];

Любая помощь очень ценится.

1 Ответ

1 голос
/ 25 марта 2019

Хорошо, у меня это работает.Я ошибочно указал неверный путь к своему пространству имен.

Спасибо за просмотр этой проблемы:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...