Laravel select 编辑页面中的标签

Laravel select tags in edit page

在我看来,我无法获得自动分配的标签 selected:

逻辑

  1. 获取所有标签$tags
  2. 从数据库中获取分配的标签 $tags2
  3. 自动 select 分配标签。

代码

<select class="chosen-select-tags" name="tags[]" multiple id="tags">
  @foreach ($tags as $tag)
    <option value="{{$tag->id}}"
      // selecting old tags
      @foreach($tags2 as $tt)
       {{ $tag->id == $tt ? 'selected' : '' }}
      @endforeach
      // end of selecting old tags
    >{{$tag->title}}</option>
  @endforeach
</select>

Values

$tags 分配给我的模型的标签数组在这种情况下 2,result

array:2 [▼
  0 => "40b7ea5f-a2d8-4b4e-af6c-b023c2b75db3"
  1 => "533c66f6-073b-4342-8fb1-ec5ede3a0c9c"
]

这两个 uuid 应该在 $tags 中自动 selected,这是我的完整标签数组。

Current result

尚未select编辑任何内容。

注意:我使用 chosen 作为我的 select 输入

尝试in_array()

ref link https://www.w3schools.com/php/func_array_in_array.asp

<select class="chosen-select-tags" name="tags[]" multiple id="tags">
    @foreach ($tags as $tag)
    <option value="{{$tag->id}}" {{ in_array($tag->id,$tag2) ? 'selected' : '' }}>{{$tag->title}}</option>
    @endforeach
</select>