我是laravel框架的新手。我想爆炸字符串并运行foreach循环。
这是我的代码,假设为$data->facing="Hello,World";
@if ($data->facing != "")
@foreach($data->facings as $info)
<option>{{$info}}</option>
@endforeach
@endif
如何使用$data->facing
爆炸","
。
答案 0 :(得分:13)
只是简单地爆炸,但是这个逻辑应该来自你的控制器/模型
@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)
答案 1 :(得分: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
答案 2 :(得分:0)
Blades @foreach
指令只是PHP本机foreach
的包装:
@foreach(explode(',', $data->facings) as $info)
<option>{{ $info }}</option>
@endforeach
答案 3 :(得分:0)
我使用以下代码,它对我有用。
@foreach(explode(',', $data->facings) as $info)
<option>{{ $info }}</option>
@endforeach