Laravel Проблема с синтаксисом Blade и обычными html -tags - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь сделать небольшой проект с laravel 7 и задать вопрос о создании и обновлении пользовательских ролей.

Код в AdminUsersController. php:

public function create()
{
  $roles = \App\Role::pluck('name', 'id')->all();
  return view('admin.users.create', compact('roles'));
}

public function edit($id)
{
  $user = User::findOrFail($id);
  $roles = Role::pluck('name', 'id')->all();
  return view('admin.users.edit', compact('user', 'roles'));
}

public function update(UpdateUsersRequest $request, $id)
{
    $user = \App\User::findOrFail($id);
    $user->update($input);
    Session::flash('message', 'User successfully updated.');
    return redirect(route('admin.users.index'));
}

Теперь, если я использую этот блейд-синтаксис в форме просмотра для создания и обновления, это работает:

    <div class="row">
      <div class="col-sm-6">
        <div class="form-group">
          {!! Form::label('role_id', 'Role:') !!}
          {!! Form::select('role_id', array('' => 'Choose Options') + $roles, null, ['class' => 'form-control']) !!}
        </div>
      </div>
    </div> 

Но как я могу сделать это без синтаксиса лезвия? Есть ли возможность передать тот же массив в теге select? я попытался l oop через $ role, но не сработало:

<div class="form-group">
 <select>
  @foreach($roles as $role)
   <option value="{{$role->id}}">{{role->name}}</option>
  @endforeach
 </select>
</div>

Я имею в виду, что у меня есть решение, но я хотел бы, если есть другой вариант без синтаксиса блейдов.

надеюсь, вы можете помочь мне поблагодарить вас:)

...