php – 显示多个单词类别为1个带有破折号的单词

开发技术 作者: 2024-06-24 12:05:01
我有一些与其相关的类别的子页面.对于具有多于1个单词的类别,例如“测试类别”,我需要输出为1个单词,空格用短划线分隔,例如“Test-Category” 如何重写函数来处理这个问题? public function CategoriesList() { if ($this->Categories()->exists()) { return implode(', ', $th
我有一些与其相关的类别的子页面.对于具有多于1个单词的类别,例如“测试类别”,我需要输出为1个单词,空格用短划线分隔,例如“Test-Category”

如何重写函数来处理这个问题?

public function CategoriesList() {
    if ($this->Categories()->exists()) {
        return implode(',',$this->Categories()->column('Title'));
    }
}

解决方法

我们可以在Category类中创建一个getDashedTitle函数来返回带有破折号而不是空格的标题:

class Category extends DataObject {
    public function getDashedTitle() {
        return str_replace(' ','-',$this->Title);
    }
}

然后我们可以在map函数中使用DashedTitle来获取类别虚线标题:

public function CategoriesList() {
    if ($this->Categories()->exists()) {
        return implode(',$this->Categories()->map('ID','DashedTitle')->toArray());
    }
}
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_32669.html