Get id of last inserted document in laravel after saving () with mongodb

Here is the code

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);
}
+4
source share
3 answers

As I asked, I do not get the identifier. I get this error because after insert. if you want to get the id, it should look like data->_idnot data->id, since I get id data.idin ajax, so I write code as below:

$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);

and in 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>");
            }
        },
    });
+1
source

Since $datain this case it is an object, you can access the ID with:

$id = $data->id;
+2
source

Laravel , , , id :

$data->save();
$id = $data->id;
+2

Source: https://habr.com/ru/post/1690137/


All Articles