Laravel - 将函数参数传递给DB方法

时间:2017-08-29 11:58:56

标签: php database laravel-5

我有一个将id作为参数的函数,并使用DB方法更新db。但是,当我运行代码时,变量没有传递给方法。测试,我用一个整数替换$ id,它工作,所以我认为DB方法无法从参数访问变量

public function disable($id)
{

    // Update the user status to 0 from 1
    DB::table('employees')->where('id', $id)->update(['status' => 0]);
    return redirect('/employee')->with('error', 'User is disabled, all related accounts are now shutdown!...');
}

更新: 忘记提到我已经检查了,并且param进入函数内部,我可以返回方法之外的id

解 如注释中所示,varDump返回“id = 9”,其中我需要“9”,我注意到在我的代码的表单中,在id之前有一个额外的“id =”导致了故障。

1 个答案:

答案 0 :(得分:1)

将功能用作disable(Request $request),并将ID设为$request->id

public function disable(Request $request)
{
    // Update the user status to 0 from 1
    DB::table('employees')->where('id', $request->id)->update(['status' => 0]);
    return redirect('/employee')->with('error', 'User is disabled, all related accounts are now shutdown!...');
}