Laravel insert 插入数据怎么返回 主键 id 值

注: 主键非自增Id,主键id是32位字符串uuid

yourself
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 13

尝试下model更换primarykey试下呢,另外还需要看看下laravel底层框架里model::create是怎么实现的

7年前 评论
Destiny

使用 create() 然后会返回插入的这一条数据,试试看。

7年前 评论
yourself

@V来自星星 更改也不行,把返回类型设置成string也不可以,底层用的pdo->lastInsertId();他就不支持返回字符串类型的主键

7年前 评论
yourself

@Destiny create()方法会返回0 不管是否成功都是0

7年前 评论
Destiny
// 输入录入
        $user = User::create($data);
         $user->guid;

试下,我是这样用的

7年前 评论
yourself

@Destiny 嗯 刚试了一下返回的是个添加数据对象 id=0

7年前 评论
Destiny

嗯嗯,祝你好运

7年前 评论

我的也是这样,没有用自增id,修改了id的类型是bigInteger。然后create后,返回的id就是0了。。primaryKey 设置id也不起作用;
大佬们,怎么破! :cry:

5年前 评论

@嫩东哥 一共有三个需要调整的属性

    /**
     * The primary key for the model.
     *
     * @var string
     */
    protected $primaryKey = 'id';

    /**
     * The "type" of the auto-incrementing ID.
     *
     * @var string
     */
    protected $keyType = 'int';

    /**
     * Indicates if the IDs are auto-incrementing.
     *
     * @var bool
     */
    public $incrementing = true;
5年前 评论
levi 1年前

@hoogl :+1:管用,大哥抽烟 :ok_hand:

5年前 评论

如果数据表有自增ID,使用 insertGetId 方法来插入记录并返回ID值
文档链接:查询构造器《Laravel 5.6 中文文档》

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!