2015-12-07 31 views
7

我是laravel框架的新手。我想炸開字符串並運行foreach循環。 這裏是我的代碼中,假定$data->facing="Hello,World";在laravel blade模板中分解字符串

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

如何使用","爆炸$data->facing

回答

10

只需簡單地爆炸,但是這個邏輯應該來自控制器/模型

@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 
0

刀片@foreach指令僅僅是PHP的原生foreach周圍的包裝:

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