0

入力テキスト フィールドでタグを管理するタグ ビヘイビアーを作成しました (すべてのキーワードはコンマで区切ります)。そのために、入力に「tag_string」という名前を付けます。そのため、文字列を処理するにはゲッターを使用する必要があります。動作に _getTagString() メソッドを直接実装する方法がわかりませんでした。

私の動作を使用する各エンティティ ファイルでゲッター (getTagString) を使用すると、すべてのコードが正常に動作します。したがって、各ファイルに同じゲッターを書き込むことを避けるために、ビヘイビア ファイルに入れたいと思います。しかし、うまくいきません。

これが私の方法です:

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