我使用`model::create`插入一条新的数据,提示我需要设置类型`setAttribute`,请问怎么设置类型?

我是这样创建数据的

App\GameWork::create([
    "task_id" => "23571",
    "type" => 2,
    "take_time" => "1563085291",
    "send_time" => 1563093004,
    "chufa" => 10,
    "worker" => 0,
    "work_time" => 0,
    "log" => "超时",
    "uid" => 271,
    "game_id" => 3532054,
    "buyer_id" => 64
]);

结果提示我

TypeError: Too few arguments to function Illuminate/Database/Eloquent/Model::setAttribute(), 1 passed in /Library/WebServer/Documents/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php on line 617 and exactly 2 expected

有点不太明白,我使用的是create方法,缺提示我setAttribute方法错误,请问我该如何设置数据类型呢?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

解决了,搜了好多资料,都没看到答案,碰巧看到这篇文章

https://coderwall.com/p/lhfzia/create-lara...

把自增关闭就好了,laravel默认是所有表都有个自增ID,我的表不需要

public $incrementing = false;
4年前 评论
PhoenixIcy 4年前
讨论数量: 4

解决了,搜了好多资料,都没看到答案,碰巧看到这篇文章

https://coderwall.com/p/lhfzia/create-lara...

把自增关闭就好了,laravel默认是所有表都有个自增ID,我的表不需要

public $incrementing = false;
4年前 评论
PhoenixIcy 4年前

protected $primaryKey = ''; 如果有你自增,而设置为空了, 也会报错.

改为:protected $primaryKey = 'id';

4年前 评论
xiaopi

有的时候表是子表,数据需要根据主表频繁的删除, 我觉得有id不太好看,所以有的子表习惯不建主键。

4年前 评论

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