【问题标题】:Undefined variable: id_ruang (View: E:\xampp\htdocs\BeaCukai\resources\views\admin\editdataruang.blade.php)未定义变量:id_ruang(查看:E:\xampp\htdocs\BeaCukai\resources\views\admin\editdataruang.blade.php)
【发布时间】:2018-08-03 17:45:18
【问题描述】:

所以,当我按下桌子上的编辑按钮时,它应该会显示编辑页面。但页面无法显示,并且未定义变量出现问题: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>

这是管理控制器

 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');

【问题讨论】:

  • 在你的代码中修复这个return view('admin.editdataruang', compact('ruang', 'id_ruang'));它是compact('ruang', '$id_ruang')

标签: php laravel


【解决方案1】:

您的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'));
}

【讨论】:

  • 无论是这个修复,还是我发布的修复都会解决这个问题
【解决方案2】:

改变你的

<form class="form-horizontal form-label-left" role="form" method="post" action="{{action('AdminController@updateruang', $id_ruang)}}">

<form class="form-horizontal form-label-left" role="form" method="post" action="{{action('AdminController@updateruang', $ruang->id_ruang)}}">

您无需在控制器中定义额外的变量id_ruang

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2021-03-16
    相关资源
    最近更新 更多