簡體   English   中英

Laravel刀片模板中的``未定義變量:角色''

[英]`Undefined variable: roles` in Laravel blade template

我正在創建一個名為edit.blade的文件來編輯用戶。

問題是,當我嘗試列出所有角色的列表時,Laravel顯示以下錯誤:

Undefined variable: roles (View: /home/ubuntu/workspace/resources/views/user/edit.blade.php)

這是我的edit.blade模板:

@extends ('adminlte::page')
@section('content')
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.css">

<div class="container" style="margin-left:25%">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h2>Editar datos del Usuario</h2>
                </div>

                <div class="panel-body">
                    <form class="form-horizontal" method="POST" action="{{ route('user.update', ['user' => $user->id]) }}">
                        {{ csrf_field() }}
                        <input type="hidden" name="_method" value="PUT"/>



                        <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
                            <label for="name" class="col-md-4 control-label">
                                Nombre
                            </label>

                            <div class="col-md-6">
                                <input id="name" type="text" class="form-control" name="name" value="{{ $user->name }}"  autofocus style=" ">

                                @if ($errors->has('name'))
                                    <span class="help-block">
                                        <strong style=" ">{{ $errors->first('name') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <label for="email" class="col-md-4 control-label">
                                Email
                            </label>

                            <div class="col-md-6">
                                <input id="email" type="text" class="form-control" name="email" value="{{ $user->email }}"  autofocus style=" ">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong style=" ">{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div> 


                            <div class="form-group">

                                 <label for="club" class="col-md-4 control-label">
                                Club
                                </label>
                                <div class="col-md-6">
                                <select name="id_club" >
                                @foreach($clubs as $club)

                                    <option value="{{$club->id_club}}" class="form-control">{{$club->nombre}}</option>

                                    @endforeach
                                </select>
                            </div>
                        </div>

                            <div class="form-group">

                                 <label for="roles" class="col-md-4 control-label">
                                Rol
                                </label>
                                <div class="col-md-6">
                                <select name="role_id" >
                                @foreach($roles as $role)

                                    <option value="{{$role->id}}" class="form-control">{{$role->name}}</option>

                                    @endforeach
                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                            <button type="submit" class="btn btn-primary">Guardar</button>
                          </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>

@endsection

這是我的UserController ,它使用相關變量調用刀片服務器模板:

    public function edit(User $user)
    {
        $roles = Role::all();
        $clubs = Club::all();
        return view('user.edit', ['user' => $user], ['clubs' => $clubs], ['roles' => $roles]);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\User  $user
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, User $user)
    {
        $user->save();
        $user->roles()->sync([$request->input('role_id')]);
        //$user->update($request->all());
        return redirect()->route('user.index');
    }

我包括use App\\Role; 在此文件的頂部。

更改此:

return view('user.edit', ['user' => $user], ['clubs' => $clubs], ['roles' => $roles]);

對此:

return view('user.edit', ['user' => $user, 'clubs' => $clubs, 'roles' => $roles]);

view()以數組的形式接受要發送到視圖的數據作為第二個參數。

您還可以使用view(...)->with(compact('user', 'clubs', 'roles'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM