我想更新'users'表的一列的值。这是控制器的代码:
<?php
class RankController extends Controller
{
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
// Create an array of all users
$users = User::all();
// Return the view of change rank with users
return view('rank.edit')->with('users', $users);
}
public function store(Request $request)
{
$this->validate($request, [
'rank' => 'required',
'user_id' => 'required',
]);
$id = $request->input('user_id');
$user = User::find($id);
$user->rank = $request->input('rank');
$user->save();
return redirect('../public/home')->with('succes', 'The rank id is'.$id.' '.$user.'<br>'.'<br>'.$user->rank);
}
public function show($id)
{
//
}
public function edit($id)
{
}
public function update(Request $request, id)
{
//
}
public function destroy($id)
{
//
}
}
检查变量后我发现问题:'save()'方法不起作用,我不知道为什么它不起作用。任何想法为什么不起作用? 提前谢谢!
答案 0 :(得分:0)
除非您已将App\User
模型更改为user_name
,否则您将错误地搜索该用户。
$username = $request->input('user_name');
$user = User::where('user_name', $username)->firstOrFail();
// ...
find()
按主键搜索,默认情况下为id
列。