Laravel 使用';或';或';和';第一个参数中的运算符?
而在Laravel查询生成器中,Laravel 使用';或';或';和';第一个参数中的运算符?,laravel,laravel-7,Laravel,Laravel 7,而在Laravel查询生成器中,updateOrInsert可能有多个参数,默认情况下使用的运算符是什么。 例如,文件中提到: DB::table('users') ->updateOrInsert( ['email' => 'john@example.com', 'name' => 'John'], ['votes' => '2'] ); 这是否意味着选中了电子邮件&&名称,还是意味着选中了电子邮件|名称?如果需要,我们
updateOrInsert
可能有多个参数,默认情况下使用的运算符是什么。
例如,文件中提到:
DB::table('users')
->updateOrInsert(
['email' => 'john@example.com', 'name' => 'John'],
['votes' => '2']
);
这是否意味着选中了电子邮件&&
名称,还是意味着选中了电子邮件|
名称?如果需要,我们如何控制一个或另一个
如果这是一个愚蠢的问题,或者没有按照正确的词汇表来表达,请原谅我,因为我是拉雷维尔的新手。我在文档或API中找不到此信息。updateOrInsert()方法用于在符合条件的情况下更新数据库中的现有记录,或在不存在匹配记录的情况下创建。其返回类型为布尔型
语法:
DB::table('blogs')->updateOrInsert(
[Conditions],
[fields with value]
);
在您的查询中:
DB::table('users')->updateOrInsert(
['email' => 'john@example.com', 'name' => 'John'],
['votes' => '2']
);
它将检查
email=='john@example.com“
&name=='john'
,然后它将更新投票数=2
是的,您也可以使用updateOrCreate
,updateOrCreate
是一种雄辩的方法,虽然updateOrInsert
是一种查询生成器方法,但是如果我想要email=='john@example.com“
或姓名==”约翰“
?运气不好。我在Laravel的官方github回购协议中找不到用于updateOrInsert
查询生成器的方法。看一看