我使用的是Laravel 5,我有一个按钮"启用"按下后,将DB中的一个标志设置为1.这一切都可以正常使用我的代码:
刀片视图
{!! Form::open(['url' => '/cms/user/' . $user->id . '/flag', 'method' => 'PUT']) !!}
{!! Form::hidden('flagged', !$user->flagged) !!}
{!! Form::submit('Flag', ['class' => 'btn btn-success'])!!}
{!! Form::close() !!}
控制器
/**
* Update the specified resource in storage.
*
* @Middleware({"auth"})
*
* @param int $id
* @Put ("cms/user/{user}/flag",as="cms.users.update.flag")
* @return Response
*/
public function updateflag($id)
{
$user = User::find($id);
//dd(Input::get('flagged'));
$user->flagged = Input::get('flagged');
$user->save();
Session::flash('message', 'Successfully flagged idea!');
return redirect()->route('cms.users.index');
}
现在,我尝试解决的问题是在用户标记按钮后更改按钮。即:第一次按钮应该说"启用" (DB值为0)。然后我按下按钮,它将DB中的标志更新为1(工作正常)。
但现在,按下按钮后,如何将按钮文本更改为"禁用"所以我可以按下按钮禁用用户。有点像开/关开关,我可以启用/禁用用户,但根据标记值在数据库中的内容更新按钮文本和功能。
答案 0 :(得分:2)
将一个布尔变量传递给视图(显然你已经有一个包含这个信息的变量):
return redirect()->route('cms.users.index')->with(['flag' => $flag]);
然后在视图中创建一个if / else:
@if($flag)
{!! Form::submit('Enable', ['class' => 'btn btn-success', 'disabled' => 'disabled']) !!}
@else
{!! Form::submit('Enable', ['class' => 'btn btn-success']) !!}
@endif