Php 更新工作不正常
我有一个posts表,它有一个tinyint列“active”。如果其“1”,则post处于活动状态,如果“0”处于非活动状态,则post处于活动状态 所以我有一个表单,其中有两个单选按钮“active”和“inactive” 如果在db中,列“active”为“1”,则单选按钮“active”显示为选中状态,如果为“0”,则单选按钮“inactive”显示为选中状态。这很好用 但是更新是不起作用的。当选择单选按钮并单击“更新”按钮时,它始终存储“1”,因此帖子始终处于活动状态。你知道问题在哪里吗 dd($request->all())显示: 表单单选按钮:Php 更新工作不正常,php,laravel,Php,Laravel,我有一个posts表,它有一个tinyint列“active”。如果其“1”,则post处于活动状态,如果“0”处于非活动状态,则post处于活动状态 所以我有一个表单,其中有两个单选按钮“active”和“inactive” 如果在db中,列“active”为“1”,则单选按钮“active”显示为选中状态,如果为“0”,则单选按钮“inactive”显示为选中状态。这很好用 但是更新是不起作用的。当选择单选按钮并单击“更新”按钮时,它始终存储“1”,因此帖子始终处于活动状态。你知道问题在哪里
<form method="post" class="clearfix" action="{{route('posts.update', ['post_id' => $post->id])}}">
{{csrf_field()}}
<div class="form-group">
<label>Active or Inactive</label>
<div class="hide-first">
<div class="form-check">
<input {{ ($post->active) == 1 ? 'checked' : '' }}
class="form-check-input radio" type="radio"
name="active"
id="{{$post->active}}">
<label class="form-check-label" for="exampleRadios1">
Active
</label>
</div>
<div class="form-check">
<input {{ ($post->active) == 0 ? 'checked' : '' }}
class="form-check-input radio" type="radio" name="active" id="{{$post->active}}">
<label class="form-check-label" for="exampleRadios1">
Inactive
</label>
</div>
</div>
</div>
<input type="submit" value="Update"/>
</form>
编辑方法:
public function update(Request $request, $id)
{
//dd($request->all());
$post = Post::find($id);
$post->active = ($request->active == 'on') ? 1 : 0;
$post->save();
Session::flash('success', 'Post status updated.');
return redirect()->back();
}
public function edit($id)
{
$post = Post::find($id);
return view('posts.edit')->with('post', $post);
}
<form method="post" class="clearfix" action="{{route('posts.update', ['post_id' => $post->id])}}">
{{csrf_field()}}
<div class="form-group">
<label>Active or Inactive</label>
<div class="hide-first">
<div class="form-check">
<input {{ ($post->active) == 1 ? 'checked' : '' }}
class="form-check-input radio" type="radio"
name="active"
id="{{$post->active}}" value="1">
<label class="form-check-label" for="exampleRadios1">
Active
</label>
</div>
<div class="form-check">
<input {{ ($post->active) == 0 ? 'checked' : '' }}
class="form-check-input radio" type="radio" name="active" id="{{$post->active}}" value="0">
<label class="form-check-label" for="exampleRadios1">
Inactive
</label>
</div>
</div>
</div>
<input type="submit" value="Update"/>
</form>
请更新您的代码并尝试: 查看文件:
public function update(Request $request, $id)
{
//dd($request->all());
$post = Post::find($id);
$post->active = ($request->active == 'on') ? 1 : 0;
$post->save();
Session::flash('success', 'Post status updated.');
return redirect()->back();
}
public function edit($id)
{
$post = Post::find($id);
return view('posts.edit')->with('post', $post);
}
<form method="post" class="clearfix" action="{{route('posts.update', ['post_id' => $post->id])}}">
{{csrf_field()}}
<div class="form-group">
<label>Active or Inactive</label>
<div class="hide-first">
<div class="form-check">
<input {{ ($post->active) == 1 ? 'checked' : '' }}
class="form-check-input radio" type="radio"
name="active"
id="{{$post->active}}" value="1">
<label class="form-check-label" for="exampleRadios1">
Active
</label>
</div>
<div class="form-check">
<input {{ ($post->active) == 0 ? 'checked' : '' }}
class="form-check-input radio" type="radio" name="active" id="{{$post->active}}" value="0">
<label class="form-check-label" for="exampleRadios1">
Inactive
</label>
</div>
</div>
</div>
<input type="submit" value="Update"/>
</form>
请更新您的代码并尝试: 查看文件:
public function update(Request $request, $id)
{
//dd($request->all());
$post = Post::find($id);
$post->active = ($request->active == 'on') ? 1 : 0;
$post->save();
Session::flash('success', 'Post status updated.');
return redirect()->back();
}
public function edit($id)
{
$post = Post::find($id);
return view('posts.edit')->with('post', $post);
}
<form method="post" class="clearfix" action="{{route('posts.update', ['post_id' => $post->id])}}">
{{csrf_field()}}
<div class="form-group">
<label>Active or Inactive</label>
<div class="hide-first">
<div class="form-check">
<input {{ ($post->active) == 1 ? 'checked' : '' }}
class="form-check-input radio" type="radio"
name="active"
id="{{$post->active}}" value="1">
<label class="form-check-label" for="exampleRadios1">
Active
</label>
</div>
<div class="form-check">
<input {{ ($post->active) == 0 ? 'checked' : '' }}
class="form-check-input radio" type="radio" name="active" id="{{$post->active}}" value="0">
<label class="form-check-label" for="exampleRadios1">
Inactive
</label>
</div>
</div>
</div>
<input type="submit" value="Update"/>
</form>
您的表单应该如下所示:
<form method="post" class="clearfix" action="{{route('posts.update', ['post_id' => $post->id])}}">
{{csrf_field()}}
<div class="form-group">
<label>Active or Inactive</label>
<div class="hide-first">
<div class="form-check">
<input {{ old('active', $post->active) ? 'checked' : '' }}
class="form-check-input radio"
type="radio"
name="active"
id="active"
value="1">
<label class="form-check-label" for="exampleRadios1">
Active
</label>
</div>
<div class="form-check">
<input {{ old('active', $post->active) ? '' : 'checked' }}
class="form-check-input radio"
type="radio"
name="active"
id="inactive"
value="0">
<label class="form-check-label" for="exampleRadios1">
Inactive
</label>
</div>
</div>
</div>
<input type="submit" value="Update"/>
</form>
public function update(Request $request, $id)
{
$post = Post::find($id);
$post->active = !!$request->active;
$post->save();
Session::flash('success', 'Post status updated.');
return redirect()->back();
}
您的表单应该如下所示:
<form method="post" class="clearfix" action="{{route('posts.update', ['post_id' => $post->id])}}">
{{csrf_field()}}
<div class="form-group">
<label>Active or Inactive</label>
<div class="hide-first">
<div class="form-check">
<input {{ old('active', $post->active) ? 'checked' : '' }}
class="form-check-input radio"
type="radio"
name="active"
id="active"
value="1">
<label class="form-check-label" for="exampleRadios1">
Active
</label>
</div>
<div class="form-check">
<input {{ old('active', $post->active) ? '' : 'checked' }}
class="form-check-input radio"
type="radio"
name="active"
id="inactive"
value="0">
<label class="form-check-label" for="exampleRadios1">
Inactive
</label>
</div>
</div>
</div>
<input type="submit" value="Update"/>
</form>
public function update(Request $request, $id)
{
$post = Post::find($id);
$post->active = !!$request->active;
$post->save();
Session::flash('success', 'Post status updated.');
return redirect()->back();
}
您的单选按钮中是否缺少
value='1'
和value='0'
?它说它是“开”的,因为其中一个收音机被检查了,它们没有价值。谢谢,但是它总是存储“0”,即使它显示为“活动”=>“1”。不要忘记更改$post->active=($request->active=='on')1:0;
对于一些看起来像$post->active=$request->active
check@AddWeb Solution Pvt Ltd answer的东西,我的回答非常概括了我在这里所说的,你的单选按钮中没有value='1'
和value='0'
吗?它说它是“开的”,因为其中一个收音机被选中了,它们没有任何价值因此它总是存储“0”,即使它显示为“活动”=>“1”。不要忘记更改$post->active=($request->active=='on')?1 : 0;代码>到一些看起来像是$post->active=$request->active
check@AddWeb Solution Pvt Ltd answer的东西,基本上总结了我在这里所说的内容