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

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

yourself
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12

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

4年前 评论
Destiny

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

4年前 评论
yourself

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

4年前 评论
yourself

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

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

试下,我是这样用的

4年前 评论
yourself

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

4年前 评论
Destiny

嗯嗯,祝你好运

4年前 评论

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

2年前 评论

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

    /**
     * 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;
2年前 评论

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

2年前 评论

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

2年前 评论

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