$many_many 上的扩展博客模块错误
Extending Blog Module error on $many_many
我正在使用 Silverstipe/Blog 模块作为我的基本博客功能。我将扩展一个与类别和标签具有相同功能的字段。
不幸的是,$many_many 无法处理我的扩展文件。
这是我遇到的错误。
[Emergency] Uncaught LogicException: belongs_many_many relation MyProject\Model\BlogIndustry.BlogPosts points to SilverStripe\Blog\Model\BlogPost without matching many_many
这是我的附加数据对象。
<?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,
];
非常感谢任何帮助。
好的,我成功了。我错误地为我的命名空间输入了错误的路径。
感谢看到这个问题的人:)
我正在使用 Silverstipe/Blog 模块作为我的基本博客功能。我将扩展一个与类别和标签具有相同功能的字段。
不幸的是,$many_many 无法处理我的扩展文件。
这是我遇到的错误。
[Emergency] Uncaught LogicException: belongs_many_many relation MyProject\Model\BlogIndustry.BlogPosts points to SilverStripe\Blog\Model\BlogPost without matching many_many
这是我的附加数据对象。
<?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,
];
非常感谢任何帮助。
好的,我成功了。我错误地为我的命名空间输入了错误的路径。
感谢看到这个问题的人:)