【问题标题】:Laravel 5 how to manipulate my variable in an for each in my controller and then pass it to my viewLaravel 5 如何在我的控制器中为每个变量操作我的变量,然后将其传递给我的视图
【发布时间】:2023-04-01 15:20:02
【问题描述】:

我有一个名为“服务”的数据库表。使用下面的函数,我从该表中获取所有记录。该函数位于我的 ServicesController.php 中。

public function index() {
  $roadmap = Roadmap::all();


  return view('services', compact('roadmap'));
}

现在在我看来,我还做了以下事情:

<?php
        foreach($roadmap as $roadmap_item) {
              $new = array();
              $splitted = explode("|", $roadmap_item->steps);

              foreach($splitted as $split) {
                $new = explode(":", $split);
              }
            }
?>

假设我从“$roadmap-item->steps”中得到字符串“step1:hello|step2:bye”。我用explode等将它们拆分为子字符串。顺便说一句,这是可行的。

但是有没有一种方法可以让我在 Controller 中操作字符串,这样我的视图就可以在没有很多 php 代码的情况下变得干净整洁,并且仍然保留包含所有数据库记录的变量 $roadmap。

亲切的问候,

迪伦

【问题讨论】:

标签: php laravel view controller explode


【解决方案1】:

我认为您可以在控制器中执行非常相似的操作。首先在控制器中执行 foreach,然后对集合中的每个项目进行更改并传递新集合。

例如:

$roadmaps = Roadmap::all();

foreach($roadmaps as $roadmap){

  $roadmap->something = " the changes you want to do as string " . $roadmap->something;
  $roadmap->save();

}

return view('services', compact('roadmaps'));

  $roadmaps = Roadmap::all();
       $new = new Collection();

        foreach($roadmaps as $roadmap){

          $new[] = array('roadmap' => $roadmap, 'something' => $roadmap->string . " etcetc ")
          $new->save();

        }

        return view('services', compact('new'));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2018-04-24
    • 2015-05-28
    • 1970-01-01
    相关资源
    最近更新 更多