2016-10-20 15 views
0

ブレードに$ iの配列を追加するには?

model

protected $fillable = [ 
    'positive1', 'positive2', 'positive3', 'positive4', 'positive5' 
]; 

blade://このループBeforは次のとおりです。@foreach($commentHotel as $value)

@for($i = 1; $i <= 5; $i++) 
    @if($value -> positive[$i] != '') 
    <li class="clearfix"><i class="icon icon-arrow-top"></i> <span>{{ $value -> positive[$i] }}</span></li> 
    @endif 
@endfor 

このコードはエラーです:$value -> positive[$i]。 私が印刷したいと思います:

$value -> positive1 
$value -> positive2 
$value -> positive3 
$value -> positive4 
$value -> positive5 

私は修正するにはどうすればよいですか?

答えて

1

代わりの$value -> positive[$i]、それは雄弁を使用したときに、モデルの属性にアクセスする方法を示しますので、nXuの例では、便利である $value->getAttribute("positive$i")

+2

この例ではEloquentメソッドを使用していますので、わかりやすいです。しかし、オブジェクトや変数名を扱うときには、 '$ value - > {" positive {$ i} "}' – Dwight

+0

@Dwightのようにすることもできます。 – mySun

2

を書きます。しかし、PHPの動的メソッドとプロパティ名にアクセスする方法があります。 {}中括弧を使用して

// Access a dynamic property name 
$value->{"positive{$i}"} 

// Call a dynamic method name 
$value->{$functionName}() 

は、あなたが動的な値を補間することができます。

関連する問題