Laravel - 通过pluck()检索Collection中的字符串值格式

时间:2017-02-28 12:03:52

标签: php string laravel collections

我有一张表-id|name -1|create_user -2|delete_user -3|ban_user ,其中有一些条目(很抱歉没有把它变成表格式,我不知道该怎么做):

$abilities = App\Ability::all()->pluck('name','id')

当我运行以下代码时,对了哦:

 Illuminate\Support\Collection {#861
 all: [
   1 => "create_user",
   2 => "delete_user",
   3 => "ban_user",
 ],

我在修补程序中得到以下输出:

1=>"Create User"

}

我希望它看起来像:# create the sample data frame df <- data.frame(rbind(c('A', '','W','1'),c('A','','W', '3'),c('A', 'BK','R','4'),c('B','BN','T', '12'))) # add a new level to the 4th column factor df[, 4] <- factor(df[, 4], levels=c(levels(df[, 4]), '0')) # write 0 to 4th column where 2nd column is '' df[df[, 2] == '',4] <- '0' ...即。下划线用空格取代,两个词都大写。我该怎么做?我正在尝试这个观点。

2 个答案:

答案 0 :(得分:4)

您可以定义an accessor

public function getModifiedNameAttribute($value)
{
    return ucfirst(str_replace('_', ' ', $value));
}

并使用它:

$abilities = App\Ability::pluck('modified_name', 'id');

答案 1 :(得分:0)

您可以在模型中处理此问题,如下所示

     /**
     * @return string
     */
    public function getNameAttribute()
    {
        return ucwords(str_replace('_', ' ', $this->name)); 
    }