13赞
967
当前位置:  开发笔记 > 编程语言 > 正文

带有多个值的Laravel流利插入仅插入第一个值

如何解决《带有多个值的Laravel流利插入仅插入第一个值》经验,为你挑选了1个好方法。

我正在尝试运行一个播种器类:

insert(
            ['name' => 'PhD'],
            ['name' => 'Master'],
            ['name' => 'Bachelor'],
            ['name' => 'Foundation'],
            ['name' => 'ESL']
        );
    }

}

我执行以下命令:

art db:seed --class CourseTableSeeder

我希望看到数据库中的五个值,但是,我只看到第一个“ phd”。

我尝试通过->toSql()在插入程序上运行来调试它,但我认为这是不可能的,并且由于插入程序最有可能返回布尔值,因此无法链接,因此我收到以下错误

[2018-07-23 15:35:45] local.ERROR: Call to a member function toSql() on boolean {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to a member function toSql() on boolean at C:\\laragon\\www\

eports \ database \ seeds \ CourseTableSeeder.php:15)

由于无法通过挖掘框架的源代码轻易地找出insert方法的工作方式,我开始怀疑是否DB::table('table_name')->insert()通过数组接受了多个插入,并且设法在框架的测试套件中找到了该示例,例如:

DB::table('posts_tags')->insert([
    ['post_id' => $post->id, 'tag_id' => 200, 'flag' => ''],
    ['post_id' => $post->id, 'tag_id' => 300, 'flag' => 'exclude'],
    ['post_id' => $post->id, 'tag_id' => 400, 'flag' => ''],
]);

来源:https : //github.com/laravel/framework/blob/5.6/tests/Integration/Database/EloquentBelongsToManyTest.php#L539

所以我想我没有做错任何事情。关于问题的根源以及如何调试出问题的任何想法,因为我已经用尽了我所知的所有选项。同样,在运行整个过程时,控制台或日志文件中不会显示任何错误。

谢谢!



1> Tim Lewis..:

insert()缺少某些[]语法。比较你的

->insert(
  ["name" => "..."]
);

到文档

->insert([
  ["post_id" => "..."]
]);

因此,文档建议传递一个数组,在实现中传递多个数组时,该数组包含要插入的每个记录的数组。


推荐阅读
  • dbca建库后sqlplus提示如下$sqlplusassysdbasqlplus:errorwhileloadingsharedlibraries:u01apporaclepro ... [详细]
  • Thumb指令集       Thumb指令可以看做是ARM指令压缩形式的子集,是针对代码密度【1】的问题而提出的,它具有16为的代码密度。Thumb不是一个完整的体系结构,不 ... [详细]
  • 32内置函数map
    map(函数名,序列)把序列里的元素用指定函数来循环操作一遍例如:把一个列表中每个值加1一般方法、map方法结果一样多列表lambda方法和lambada结合使用来 ... [详细]
  • 接口自动化简单的数据驱动框架ATP(基于excel)
    数据驱动测试:根据数据进行测试。将用例写入excel文件,用代码读取文件中的数据,从而实现自动化测试。自动化框架实现步骤:1、获取用例2、调用接口3、校验结果4、发送测试报告5、异 ... [详细]
  • 一个对象在内存中产生的过程:1、将该对象所需的类文件加载金内存2、在内存进行空间的方法区的空间分配3、通过new在对内存中开辟空间4、对象中的属性进行默认初始化5、调用与之对象的构 ... [详细]
  • mysql 全文检索的匹配问题
    开发过程中碰到一个关于mysql全文检索的问题,控制台打印的SQL语句拿到数据库里执行,结果不对。后来发现原来是少了双引号。下面是网上找到的资料,我是看到这个才意识到自己的问题。这 ... [详细]
  • Windows10操作系统下载
    迅雷下载:将p2p链接添加到下载任务中进行下载百度网盘:将p2p链接添加到离线下载中进行下载【64位简体中文家庭专业版】文件名:cn_windows_10_multiple_edi ... [详细]
  • 通过Toast的setView(Viewview)方法可以将Toast的内容设为任意视图eg:toast_layout.xmlMainActivi ... [详细]
  • Swift使用UIDatePicker实现倒计时功能
    如果使用UIDatePicker时将模式设置为CountDownTimer,即可让该控件作为倒计时器来使用。效果图如下:下面是代码示例:1234567891011121314151 ... [详细]
  • JavaScript没有包管理概念,没有有效的命名空间机制,但通过require.js库,则能很好的实现js的命名空间管理,实现不同js模块间的调用和依赖。定义模块:mod1.js ... [详细]
  • 首先我认为:找工作,应该要明确自己想干嘛,能干嘛.不过这些问题,我也帮不了,自己解决吧.然后就是深入学习了.接下来以我这学渣为例.我投的是后台开发.项目:因为没项目,所以自己弄个项 ... [详细]
  • 一、步骤publicclassCopy{打印流+缓冲流最有效率publicstaticvoidmain(String[]args)throwsIOException{明确数据源Fi ... [详细]
  • 博文说明【前言】:本文将通过个人口吻介绍rpm命令,包括查看已安装软件包信息及未安装rpm包信息。在目前时间点【2017年6月12号】下,所掌握的技术水平有限,可能会存在不少知识理 ... [详细]
  • 项目中是使用UITabbarController因此改变UITabbar的分割线代码如下由于美术没提供图片,所以自己创建了个图片改变tabbar线条颜色CGRectrectCGRe ... [详细]
  • importjava.util.HashMap;importjava.util.Map;publicclassCoinDiamond{publicstaticvoidmain(St ... [详细]
author-avatar
愿今夜不再孤单
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有