php - 传递控制器以查看未定义变量时出现未定义变量错误:用户(查看:C:\xampp\htdocs\site\resources\views\edit.blade.php)
问题描述
//这是我的控制器
public function edituser(Request $request,$id){
$user=User::find($id);
$user->name=$request->name;
$user->email=$request->email;
$user->role_id=$request->role_id;
$users=User::all();
return view('edit',compact('users'));
}
//这里是刀片
<form action="{{route('edituser',['id'=>$user->id])}}" method="post">
@csrf
<div class="form-row align-items-center">
<div class="col-auto">
<label class="sr-only" for="inlineFormInput">Adı</label>
<input type="text" value="" class="form-control mb-2" id="inlineFormInput" placeholder="Adı">
</div>
<div class="col-auto">
<label class="sr-only" for="inlineFormInputGroup">Emaili</label>
<div class="input-group mb-2">
<input type="text" class="form-control" id="inlineFormInputGroup" placeholder="Emaili">
</div>
</div>
<select class="mdb-select md-form">
@foreach ($users as $user)
<option>--Səlahiyyət seç---</option>
<option value="1">{{$user->name}}</option>
@endforeach
</select>
//这里是路线
Route::get('edit/{id}','AdminController@edit')->name('edit');
Route::post('edituser/{id}','AdminController@edituser')->name('edituser');
更新:这是我的所有控制器
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
class AdminController extends Controller
{
public function delete($id){
$delete=User::where('id',$id)->delete();
if($delete){
return redirect()-> back();
}
}
public function edit(){
$users=User::all();
return view('edit',compact('users'));
}
public function edituser(Request $request,$id){
$user=User::find($id);
$user->name=$request->name;
$user->email=$request->email;
$user->role_id=$request->role_id;
}
解决方案
您似乎在控制器上使用了错误的方法。该edituser
方法由 POST 路由使用,因此您应该在该edit
方法上使用用户/紧凑代码,因为 GET 路由正在使用该方法。
将以下代码移出edituser
并放入edit
$users = User::all();
return view('edit',compact('users'));
您的edituser
方法应该如下所示:
public function edituser(Request $request,$id){
$user = User::find($id);
$user->name=$request->name;
$user->email=$request->email;
$user->role_id=$request->role_id;
return view('edit',compact('user'));
}
请更新您的原始答案以显示这两种方法。
推荐阅读
- python-3.x - 连接熊猫数据帧的更多pythonic方法
- javascript - 基于值的引导列表组状态(危险、成功、...)
- regex - 为什么 grep 语句中冒号后面的空格字符在 Bash 中不起作用?
- java - Java中HTTPUrlConnection的inputStream的默认字符编码
- r - 避免在R中移动窗口中的循环
- java - 尝试打开 detailactivity 时发生意外崩溃
- c# - 安全地保护和取消保护内存以进行线程处理,只有在所需操作时才不受保护
- flash - Adobe flex - plotseries 的自定义工具提示文本
- php - 无法通过 SendGrid SMTP 服务器向我自己的域发送电子邮件
- python - 中心调整大小的 Qwizard 页面