我通过使用Blogtag.php将类似标签的字段添加到我的BlogPost和Blog中 这是我对新字段的更改:
1。将'Subs' => BlogTag::class
添加到我的Blog中的has_many中。
2。将'Subs' => BlogTag::class
添加到BlogPost中的many_many中。
3。将$subs = $parent instanceof Blog ? $parent->Subs() : BlogTag::get();
添加到BlogPost。
4。将TagField::create('Subs', _t(__CLASS__ . '.other', 'other tags'), $subs, $this->Subs())->setCanCreate($this->canCreateSubs())->setShouldLazyLoad(true)
添加到BlogPost。
5。将public function canCreateSubs($member = null){$member = $this->getMember($member); $parent = $this->Parent(); if (!$parent || !$parent->exists() || !($parent instanceof Blog)) {return false;} if ($parent->isEditor($member)) {return true;} if ($parent->isWriter($member)) {return true;} return Permission::checkMember($member, 'ADMIN');}
添加到BlogPost。
6。将foreach ($this->Subs() as $sub) {$sub->BlogID = $this->ParentID; $sub->write();}
添加到BlogPost。
在这些之后,我可以循环$ Subs在模板中,并且Subs在“ blogtag”表中创建,并且我有一个名为“ blogpost_subs”的新数据透视表,但是我需要在“ blogpost_tags”中创建该数据(blogpost_subs行)表格,然后单击页面中显示的标签或子标签(domainname.com/blog/tags/test:它包含标签为test且子标签为test的帖子)