入力テキスト フィールドでタグを管理するタグ ビヘイビアーを作成しました (すべてのキーワードはコンマで区切ります)。そのために、入力に「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, ', ');
}
ご協力いただきありがとうございます