如何在Laravel的select选项中使用isset

时间:2019-03-30 02:44:58

标签: laravel

如果我使用选择选项,如何使用isset? 请帮忙。

这是我用来正常插入数据的方式。

<div class="form-group">
  <label>Zone Name</label>
  <input type="text" name="name" class="form-control" value="{{ old('name',isset($zone) ? $zone->name : '') }}" placeholder="Name">
</div>

但是我不知道如何在选择选项中使用isset。

<div class="form-group">
  <label>Select Country</label>
  <select class="form-control" name="country_id">
    <option value="" selected>Please Select</option>
      @if ($country->count())
        @foreach($country as $c)
          <option value="{{ $c->country_id }}" {{ $selectCountry == $c->country_id ?  : '' }}>{{ $c->name }}</option>
        @endforeach
      @endif
  </select>
</div>  

这是我的控制器

  public function edit(Request $request, $id){
    $zone = Zone::find($id);
    $country = Country::all();
    $selectCountry= Country::first()->country_id;
    if(!$zone){
      return redirect('/');
    }
    return view('zone.edit',['zone' => $zone, 'country'=>$country, 'selectCountry'=>$selectCountry]);
  }

我的预期结果是当我按下编辑按钮时,它将显示先前选择的结果。

1 个答案:

答案 0 :(得分:0)

你可以写

<select class="form-control" name="country_id">
     <option value="" {{ !isset($selectCountry) ? 'selected' : '' }}>Please Select</option>
    @if ($country->count())
      @foreach($country as $c)
       <option value="{{ $c->country_id }}" {{ (isset($selectCountry) && $selectCountry == $c->country_id) ? 'selected' : '' }}>{{ $c->name }}</option>
      @endforeach
    @endif
 </select>