编辑时显示下拉列表中的其他表数据

时间:2018-11-24 16:27:55

标签: php laravel

是否可以从其他表中获取数据?

在创建表中,我从类型表中获取所有信息,并在下拉列表中显示所有数据

SELECT credits, 0 AS day_winnings, lifetime_winnings FROM 5fa_users WHERE id = ;

在编辑页面中,我也要显示它,但是如何将其显示为创建时选择的类型?

1 个答案:

答案 0 :(得分:0)

我认为,您应该将$gData->id用作每个选项的value。因为通常您将id存储为外键而不是标题。

但是对于您自己的问题:您只需添加一个if语句,即可在foreach循环中检查当前项是否为选中项。在我的示例中,我假设您有一个变量$movie,这是您要编辑的条目。

  <select name="mov_genre" id="mov_genre" class="form-control input-sm">
      <option value="">-- SELECT GENRE --</option>
      @foreach(App\Genre::pluck('gen_title', 'id') as $key => $value)
          <option value="{{ $key }}" {{ optional($movie)->genre_id === $key ? 'selected' : '' }}>{{ $value }}</option>
      @endforeach
  </select>

请注意,我将App\Genre::all()换成App\Genre::pluck('gen_title', 'id')。这只会加载两个字段gen_titleid并将它们放入一个数组,其中id是键,gen_title是值。这样做是为了提高性能,因为我们不会加载不必要的数据。

还请注意,当未设置optional($movie)时,null将返回$movie。这样做是为了减少怪异的if语句,这是常见的做法。