相关疑难解决方法(0)

使用Laravel Eloquent获取最后插入的ID

我目前正在使用以下代码在表中插入数据:

<?php

public function saveDetailsCompany()
{
    $post = Input::All();

    $data = new Company;
    $data->nombre = $post['name'];
    $data->direccion = $post['address'];
    $data->telefono = $post['phone'];
    $data->email = $post['email'];
    $data->giro = $post['type'];
    $data->fecha_registro = date("Y-m-d H:i:s");
    $data->fecha_modificacion = date("Y-m-d H:i:s");

    if ($data->save()) {
        return Response::json(array('success' => true), 200);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想返回插入的最后一个ID,但我不知道如何获取它.

亲切的问候!

php database laravel eloquent

260
推荐指数
15
解决办法
41万
查看次数

在laravel中插入关系

我在Laravel 5.3中遇到了一个问题,我查看了文档并搜索了网页,但没有找到任何内容.

我正在使用Laravel Relationships加入两个表.现在我希望在用户提交表单后同时在两个表上插入数据.这是第一个表是第一个表是主要的说"用户"和第二个"xyz"属于第一个表.表"xyz"包含连接两个表的"users_id"列.显然,"users_id"是"用户"表的"id"列.

现在出现的问题是我想在"users"表(很容易完成)和"xyz"表中同时插入数据.该User::create()函数将轻松创建用户数据并且它也正常工作但是为了在"xyz"表中插入数据,我将需要"user_id"列数据,并且在创建用户之前不会生成ID,因为ID列具有Auto-增量属性已激活.

码:

    $user = new User;
    $inputArry = array('data1' => $request['field1'],
                    'data2' => $request['field2'],
                    'data3' => $request['field3'],
                    );
    $user->create($inputArry);
    $user->xyz()->create([
        'user_id' => $user->id,
        'name' => $request['name'],
        'about' => $request['desc'],
        'tag' => $request['tag'],
    ]);
Run Code Online (Sandbox Code Playgroud)

以上是我为此目的使用的代码,但它给了我一个错误.

错误:

    QueryException in Connection.php line 761:
    SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'soft_id' cannot be null (SQL: insert into `xyz` (`user_id`, `name`, `about`, `tag`, `updated_at`, `created_at`) values (, John, I am John, dev, 2016-11-09 21:01:29, 2016-11-09 21:01:29))
Run Code Online (Sandbox Code Playgroud)

php mysql sql laravel laravel-5

7
推荐指数
2
解决办法
9359
查看次数

如何在Laravel中获取最后插入的ID?

这是我的代码

 $users = DB::table('users')->insert(array(
            'email_id' => $email_id,
            'name' => $name,
        ));

         $lastInsertedID = $users->lastInsertId();

         return $lastInsertedID;
Run Code Online (Sandbox Code Playgroud)

我想为特定记录获取最后插入的id.我尝试过使用Eloquent ORM.但它不起作用.

任何帮助将不胜感激.

谢谢.

php laravel

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

laravel ×3

php ×3

database ×1

eloquent ×1

laravel-5 ×1

mysql ×1

sql ×1