web-dev-qa-db-ja.com

laravelブレードのforループで値を設定する方法

<select id="year" name="year" class="form-control ">
    {{ $last= date('Y')-120 }}
    {{ $now = date('Y') }}

      @for ($i ={{ $now }}; $i <= {{ $last }}; $i--)
         <option value="{{ $i }}">{{ $i }}</option>
      @endfor               
</select>

そして、私はエラーメッセージParse error: syntax error, unexpected '<'
変数が読み取れないようです。
forループで値を設定する方法は?

11
Fan

基本的にこの部分では{{ $last= date('Y')-120 }}が値を表示していますが、値を割り当てる必要があります。したがって、次のように割り当てます。

<?php $last= date('Y')-120; ?>

同じことがforループにも当てはまります。値を比較するだけです。ブレード構文では使用しないでください。

<select id="year" name="year" class="form-control ">
    <?php $last= date('Y')-120; ?>
    <?php $now = date('Y'); ?>

    @for ($i = $now; $i <= $last; $i--)
        <option value="{{ $i }}">{{ $i }}</option>
    @endfor
</select>
22
Minhaj Mimo

あなたは書ける

<select id="year" name="year" class="form-control ">
    {{ $last= date('Y')-120 }}
    {{ $now = date('Y') }}

    @for ($i = $now ; $i <=  $last ; $i--)
    <option value="{{ $i }}">{{ $i }}</option>
    @endfor               
</select>

それはあなたのエラーを解決します。

1
Jahid Mahmud

ビューを次のように変更します。

<select id="year" name="year" class="form-control ">
    <?php $last= date('Y')-120; ?>
    <?php $now = date('Y'); ?>

    @for ($i = $now; $i <= $last; $i--)
        <option value="{{ $i }}">{{ $i }}</option>
    @endfor
</select>
1
Osama Sayed

「@for($ i = $ now; $ i <= $ last; $ i--)」を使用しても機能しなかったため、増分カウントを使用する必要がありました。

<div class="form-group">
  <label for="task" class="col-sm-1 control-label">Text</label>
     @for ($i = 0; $i < $count; $i++)
       <div class="col-sm-12">
           <input type="text" name="text[{{ $i }}]" id="text[{{ $i }}]" class="form-control">
      </div>
     @endfor
</div>
1

これがお役に立てば幸いです。

<select id="year" name="year" class="form-control">
    {{-- */$last= date('Y')-120;/* --}}
    {{-- */$now = date('Y');/* --}}
    @for ($i = $now; $i <= $last; $i--)
    <option value="{{ $i }}">{{ $i }}</option>
    @endfor               
</select>

エラーを解決しますが、$ last変数と$ now変数をコントローラーから渡すといいでしょう。

ありがとう

0
mizan3008

これを行う最良の方法は、range()およびforeach()を使用することです

例:

_@foreach(range(date('Y')-5, date('Y')) as $y)
    {{$y}}
@endforeach
_

結果

_2014 2015 2016 2017 2018 2019 
_

ドキュメンテーション:

0
Xerif