2015-12-07 12 views
7

laravelフレームワークの新機能です。私は文字列を爆発させforeachループを実行したい。ここ は","を使用して$data->facingを爆発する方法$data->facing="Hello,World";laravelブレードテンプレートの文字列を解読する

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

を想定して、私のコードです。

答えて

10

モデルのいくつかの並べ替えは、私が

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

次に、あなたのモデルにアクセサを追加することをお勧めです

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

$data場合は、単に、しかし、このロジックは、お使いのコントローラ/モデルから来るべきで爆発オリジナルの例のように、単に配列として扱うことができます。

@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ディレクティブはPHPSネイティブforeach単なるラッパーです:

@foreach(explode(',', $data->facings) as $info) 
    <option>{{ $info }}</option> 
@endforeach 
関連する問題