【问题标题】: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->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