我创建了一个名为“ Groups”的CRUD表单。创建和删除功能可以使用,但是“编辑”会引发错误:
“未定义变量:组(视图: C:\ wamp64 \ www \ sites \ jointpromote2 \ resources \ views \ groups \ edit.blade.php
错误指向以下代码行:
http/controllers/GroupController.php
我已经尝试了好几种方法,但没有任何解决方法。
这是我的 {
$event = Group::find($id);
return view('groups.edit', compact('group'));
}
database/migrations/create_groups_table.php
这是我的 public function down()
{
Schema::dropIfExists('groups');
}
@section('main')
<div class="row">
<div class="col-sm-8 offset-sm-2">
<h1 class="display-3">Update a Group</h1>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
<br />
@endif
<form method="post" action="{{ route('groups.update', '$group->id') }}">
@method('PATCH')
@csrf
<div class="form-group">
<label for="group_name">Group Name:</label>
<input type="text" class="form-control" name="group_name" value="{{ $group->group_name }}" />
</div>
<div class="form-group">
<label for="group_description">Group Description:</label>
<input type="text" class="form-control" name="group_description" value="{{ $group->group_description }}" />
</div>
<button type="submit" class="btn btn-primary">Update</button>
</form>
</div>
</div>
@endsection
这是edit.blade.php
value
答案 0 :(得分:0)
您以错误的方式使用“压缩”方法。 https://www.php.net/manual/en/function.compact.php
尝试
{
$event = Group::find($id);
return view('groups.edit', compact($event));
}
答案 1 :(得分:0)
您将错误的变量从GroupController
传递到edit.blade.php
视图。将您的GroupController
更改为此:
{
$group= Group::find($id);
return view('groups.edit', compact('group'));
}
所有功能现在都应该正常工作。
答案 2 :(得分:0)
您的变量名称为event
,但是您正在压缩group
并在Blade中使用group
变量。在控制器中更改变量名称,一切都会好起来。
public function edit($id) {
$group = Group::find($id);
return view('groups.edit', compact('group'));
}
答案 3 :(得分:0)
您写的动作错误。尝试复制并粘贴以下代码
<form method="post" action="{{ route('groups.update',
$group->id) }}">
您必须删除“。”来自$ group-> id