0

我刚刚创建了一个标签行为来管理输入文本字段中的标签(所有关键字都用逗号分隔)。为此,我将输入命名为“tag_string”。所以我需要使用getter来处理字符串。我不明白如何直接在行为中实现 _getTagString() 方法。

如果我在每个使用我的行为的实体文件中使用我的 getter (getTagString),我的所有代码都可以正常工作。所以为了避免在每个文件中写相同的getter,我想把它放在我的行为文件中。但它不起作用。

这是我的方法:

public function _getTagString() {
    if (isset($this->_properties['tag_string'])) {
        return $this->_properties['tag_string'];
    }
    if (empty($entity->tags)) {
        return '';
    }
    $tags = new Collection($entity->tags);
    $str = $tags->reduce(function ($string, $tag) {
        return $string . $tag->name . ', ';
    }, '');
    return trim($str, ', ');
}

谢谢你的帮助

4

1 回答 1

0

经过几次搜索,我没有找到任何可以直接在行为中实现访问器的东西。

我使用特征,它工作正常。

于 2016-01-03T14:06:07.410 回答