php - Laravel 没有保存到数据库

标签 php database laravel-5 insert-update

出于某种原因,我无法保存到数据库中。没有错误,只是没有更新。我知道命令正常工作,因为之后返回 $user 会给我修改的各个字段。但是在某个地方,信息没有被输入数据库。

Blade 可以在这里找到:http://pastebin.com/8bAEsjtj 申请表可在此处找到:http://pastebin.com/ZCD1Xvjn

这是 Controller :

<?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

最佳答案

好的。找到了答案,mysql 和 php 处理数据库表中“id”的方式有所不同。

在这个例子中,因为我从其他开发者那里继承了数据库,所以 id 列被大写了。

这可能使 php laravel 生成抛出一个错误,因为它正在寻找“id”但没有找到任何东西。

我没有注意到这一点,因为它实际上并没有打印出那个错误,而我的其他代码正在计算大写。

将 ID 更改为 id 并修复代码中的引用似乎已经解决了问题。

关于php - Laravel 没有保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40145527/

相关文章:

php - 向哈希添加盐后无法使登录脚本工作;之前工作得很好

mysql - 如何将变量设置为触发器 MYSQL 中存储过程的结果?

sql - 如何生成 SQL 格式的更改日志以创建当前数据库模式?

php - 无法使用 php webservice 连接 unity 和 mysql

php - 拉维尔 5 : Fetch ajax data in route and pass to controller

laravel - 如何避免或诊断Laravel中的错误500

php - Yii2:加载 Controller 时如何减少行为()数据库查询?

php - 具有相同名称的 WSDL 函数。如何选择一个?

javascript - 当在 AJAX、Jquery 中使用 GET 更新数据库时,如何反射(reflect)表上的更新

mysql - 使用 Laravel Eloquent 高级 WHERE 子句迭代数组的元素以执行查询