2015-12-07 24 views
7

Tôi là người mới trong khuôn khổ Laravel. Tôi muốn phát nổ chuỗi và chạy vòng lặp foreach. Đây là mã của tôi, giả sử $data->facing="Hello,World";Chuỗi bùng nổ trong mẫu lưỡi laravel

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

làm thế nào để phát nổ $data->facing sử dụng ",".

Trả lời

10

Chỉ đơn giản là phát nổ, tuy nhiên logic này phải xuất phát từ điều khiển của bạn/mô hình

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

Nếu $data là một số loại mô hình, tôi sẽ đề nghị thêm một accessor để mô hình của bạn

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

Sau đó, bạn chỉ có thể coi nó như một mảng, theo ví dụ ban đầu của bạn.

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

Sử dụng phát nổ như thế này:

$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

Blades @foreach chỉ thị chỉ là một wrapper quanh PHPs mẹ đẻ foreach:

@foreach(explode(',', $data->facings) as $info) 
    <option>{{ $info }}</option> 
@endforeach 
Các vấn đề liên quan