首页 > 解决方案 > 未定义变量:id_ruang(查看:E:\xampp\htdocs\BeaCukai\resources\views\admin\editdataruang.blade.php)

问题描述

所以,当我按下我桌子上的编辑按钮时,它应该显示我编辑页面。但无法显示页面,并且未定义变量出现问题:editdataruang.blade.php 中的 id_ruang。我不知道怎么了。请帮我

这是编辑页面editruang.blade.php

@if (count($errors) > 0)
        <div class="alert alert-danger">
            <strong>Whoops!</strong> There were some problems with your input.<br><br>
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif

                  <div class="x_content">
                        <form class="form-horizontal form-label-left" role="form" method="post" action="{{action('AdminController@updateruang', $id_ruang)}}">
                         {{csrf_field()}}
                         <input name="_method" type="hidden" value="PATCH">
                         <div class="form-group">
                                <input type="hidden" value="{{csrf_token()}}" name="_token" />
                                <label for="title">ID Ruang</label>
                                <input type="text" class="form-control" name="title" value={{$ruang->id_ruang}} />
                         </div>


                  </div>

这是 AdminController

 public function storeruang(Request $request)
    {
        $ruang = new Ruang();
        $ruang->id_ruang = $request->id_ruang;
        $ruang->nm_ruang = $request->nm_ruang;
        $ruang->keterangan = $request->keterangan;
        $ruang->save();
        return redirect(url('/admin/dataruang'));
    }

 public function editruang(Ruang $id_ruang)
    {
        $ruang = Ruang::find($id_ruang);


        return view('admin.editdataruang', compact('ruang', '$id_ruang'));
    }

    public function updateruang(Request $request, $id_ruang)
    {
        $ruang = new Ruang();
        $data = $this->validate($request, [
            'id_ruang'=>'required',
            'nm_ruang'=>'required',
            'keterangan'=>'required'
        ]);
        $data['id_ruang'] = $id_ruang;
        $ruang->updateTicket($data);

        return redirect('/admin/dataruang')->with('success', 'New data has been updated!!');
    }

这是路线

Route::get('/editdataruang{id_ruang}', 'AdminController@editruang', function () {
    $users[] = Auth::user();
    $users[] = Auth::guard()->user();
    $users[] = Auth::guard('admin')->user();

     return view('admin.editdataruang');
})->name('editdataruang');

Route::post('/editdataruang{id_ruang}','AdminController@updateruang', function(){
    $users[] = Auth::user();
    $users[] = Auth::guard()->user();
    $users[] = Auth::guard('admin')->user();

})->name('editdataruang');

标签: phplaravel

解决方案


您的editruang()功能如下:

public function editruang(Ruang $id_ruang)
{
  $ruang = Ruang::find($id_ruang);

  return view('admin.editdataruang', compact('ruang', '$id_ruang'));
}

应该写成:

public function editruang(Ruang $id_ruang)
{
  $ruang = Ruang::find($id_ruang);

  return view('admin.editdataruang', compact('ruang', 'id_ruang'));
}

推荐阅读