出于某种原因,我无法保存到数据库中。没有错误,只是没有更新。我知道命令正常工作,因为之后返回$ user会给我修改相应的字段。但在某些地方,信息并没有被放入数据库。
可以在此处找到刀片:http://pastebin.com/8bAEsjtj 可以在此处找到申请表:http://pastebin.com/ZCD1Xvjn
这是控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\UserFormRequest;
use App\UserEdit;
use DB;
use App\Http\Requests;
class EditUserController extends Controller
{
public function index()
{
$array = UserEdit::all()->toArray();
return view('UserEntry', compact('array'));
}
public function create()
{
//
}
public function store()
{
//
}
public function show($ID)
{
try {
$array = UserEdit::findorFail($ID)->toArray();
return view('UserEdit')->with('array', $array);
} catch(\Exception $e) {
return \Redirect::route('users.index')
->withMessage('This user does not exist');
}
}
public function edit(UserEdit $user)
{
return view('EditUser', compact('user'));
}
public function update(UserFormRequest $request, UserEdit $user)
{
//$input->$request->all();
//$user->fill(Input::all());
$user->fill([
'name' => $request->get('name'),
'email' => $request->get('email'),
'First_Name' => $request->get('First_Name'),
'Last_Name' => $request->get('Last_Name')
]);
//$user->name = Input::get('name');
//$user->email = Input::get('email');
//$user->First_Name = Input::get('First_Name');
//$user->Last_Name = Input::get('Last_Name');
$user->save();
//$user->save();
// return redirect()->route('users.index')->with('message', 'Details Updated!');
return $user;
}
public function destroy($id)
{
//
}
}
非常确定这一切都在上面,所以为什么它不起作用?我在某处遗漏了一些细节吗?这是模型:http://pastebin.com/vJBzfUVu
答案 0 :(得分:1)
确定。找到了答案,mysql和php如何处理“id&#39;”之间存在差异。在数据库表中。
在这种情况下,因为我从其他开发者继承了数据库,所以id列被大写。
这可能使得php laravel生成错误,因为它正在寻找&#39; id&#39;并没有找到任何东西。
我没有注意到这一点,因为它实际上并没有打印出这个错误,而我的其他代码也在考虑大小写。
将ID更改为id并修复我的代码中的引用似乎解决了这个问题。