php - 如何编辑 Laravel 集合中的项目

标签 php laravel laravel-5 eloquent

我是 laravel 的新手,我运行查询并从数据库中获取行,我想在查看这些行之前编辑这些行的列。 所以这是我的代码片段:

$callPlans = CustomerCallPlan::whereNotNull('id');

foreach ($callPlans->get() as $callPlan) {
    dd($callPlan);
}

以及输出截图:

enter image description here

我需要将 numbertemplate 列的所有“x”字符替换为“-”。

最佳答案

如果您想始终为您的模型执行此转换,您只需将以下访问器方法添加到模型类:

public function getNumbertemplateAttribute() {
  return str_replace('x', '-', $this->attributes['numbertemplate']);
}

现在每次访问 $customerCallPlan->numbertemplate 时,您都会得到转换后的字符串。

否则只需在获取数据时转换列:

$plans = $callPlans->get()->map(function($plan) {
  $plan->numbertemplate = str_replace('x', '-', $plan->numbertemplate);
  return $plan;
});

关于php - 如何编辑 Laravel 集合中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37586652/

相关文章:

Laravel Eloquent ORM - 多对多删除剩余的数据透视表值

php - 在 Laravel/Homestead 中映射文件夹和站点

php - 从 Laravel 中的数据库模型中获取所有字段

angularjs - Angular http 方法更改日期时间中的小时

php - db :seed laravel 5. 5.x 不增加 postgres 的序列 id

java - Java 消息服务 (JMS) 与 PHP 上的结构相似或相同吗?

php - 使用 phpunit DB::table()->get() 测试 Laravel 4.2 返回数组而不是对象

php - Laravel 4 - 镜像数据库?

php - 不同日期格式关系的动态参数

PHP "php://input"与 $_POST