行为中的吸气者蛋糕3

时间:2016-01-02 20:34:08

标签: cakephp behavior cakephp-3.x

我刚刚创建了一个标记行为来管理输入文本字段中的标记(所有关键字都用逗号分隔)。为此,我将输入命名为“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, ', ');
}

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

经过多次搜索后,我没有找到任何可以直接在行为中实现访问者的内容。

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