代码之家  ›  专栏  ›  技术社区  ›  Ammar Ali

使用mongodb获取save()后laravel中最后插入的文档的id

  •  3
  • Ammar Ali  · 技术社区  · 7 年前

    这是一个代码

    public function addItem(Request $req)
    {
        $data = new UserModel();
        $data->Name = $req->name;
        $data->IP=$req->ip;
        $data->username=$req->username;
        $data->password=$req->password;
        $data->save();
        return response()->json($data);
    }
    
    3 回复  |  直到 7 年前
        1
  •  2
  •   Alexey Mezenin    7 年前

    自从 $data 在这种情况下,您可以通过以下方式访问ID:

    $id = $data->id;
    
        2
  •  2
  •   Valdrinium    7 年前

    在Laravel中,保存或创建使用自动递增ID的新模型后,可以通过访问对象的ID属性来检索ID:

    $data->save();
    $id = $data->id;
    
        3
  •  0
  •   Ammar Ali    7 年前

    正如我所说,我没有得到id。我得到这个错误是因为在插入之后。如果你想得到身份证,它必须像 data->_id data->id 当我拿到身份证时 data.id 在ajax中,我编写了以下代码:

    $data = new UserModel();
    $data->Name = $req->name;
    $data->IP=$req->ip;
    $data->username=$req->username;
    $data->password=$req->password;
    $data->save();
    $data->id=$data->_id;
    return response()->json($data);
    

    在Ajax中:

    $.ajax({
            type: 'post',
            url: '/addItem',
            data: {
                '_token': $('input[name=_token]').val(),
                'name': $('#en').val(),
                'ip': $('#eip').val(),
                'username': $('#eun').val(),
                'password': $('#ep').val()
            },
            success: function(data) {
                if ((data.errors)){
                    $('.error').removeClass('d-none');
                    $('.error').text(data.errors.name);
                }
                else {
                    $('.error').addClass('d-none');
                    $('#table').append("<tr class='item" + data.id + "'><td>" + data.id + "</td><td>" + data.IP + "</td><td>" + data.Name + "</td><td>" + data.username + "</td><td>" + data.password + "</td><td><button class='edit-modal btn btn-info' data-id='" + data.id + "' data-name='" + data.Name + "' data-ip='" + data.IP + "' data-username='" + data.username + "' data-password='" + data.password + "'><span class='glyphicon glyphicon-edit'></span> Edit</button> <button class='delete-modal btn btn-danger' data-id='" + data.id + "' data-name='" + data.Name + "' data-ip='" + data.IP + "' data-username='" + data.username + "' data-password='" + data.password + "'><span class='glyphicon glyphicon-trash'></span> Delete</button></td></tr>");
                }
            },
        });