【问题标题】:Explode string in laravel blade template在 laravel 刀片模板中爆炸字符串
【发布时间】:2015-12-07 04:36:06
【问题描述】:

我是 laravel 框架的新手。我想分解字符串并运行 foreach 循环。 这是我的代码,假设$data->facing="Hello,World";

@if ($data->facing != "")
@foreach($data->facings as $info)
<option>{{$info}}</option>
@endforeach
@endif

如何使用"," 爆炸$data-&gt;facing

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    只是简单地爆炸,但是这个逻辑应该来自你的控制器/模型

    @if ($data->facings != "")
      @foreach(explode(',', $data->facings) as $info) 
        <option>{{$info}}</option>
      @endforeach
    @endif
    

    如果$data 是某种模型,我建议为您的模型添加访问器

    class MyModel extends Model 
    {
      public function getFacingsAttribute()
      {
        return explode(',', $this->facings);
      }
    }
    

    然后你可以简单地把它当作一个数组,就像你原来的例子一样。

    @foreach($data->facings as $info)
    

    【讨论】:

      【解决方案2】:

      像这样使用爆炸:

      $new_array = array();
      if($data->facing) { 
      $new_array = explode(',',$data->facing);
      }
      @if (is_array($new_array) && count($new_array) > 0)
      @foreach($new_array as $info)
      <option>{{$info}}</option>
      @endforeach
      @endif
      

      【讨论】:

        【解决方案3】:

        Blades @foreach 指令只是 PHP 原生 foreach 的包装器:

        @foreach(explode(',', $data->facings) as $info)
            <option>{{ $info }}</option>
        @endforeach
        

        【讨论】:

          【解决方案4】:

          我使用以下代码,它适用于我。

          @foreach(explode(',', $data->facings) as $info)
              <option>{{ $info }}</option>
          @endforeach
          

          【讨论】:

            猜你喜欢
            • 2013-02-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-12-10
            • 2017-08-20
            • 2020-12-10
            • 1970-01-01
            相关资源
            最近更新 更多