Php Laravel DB Facade BadMethodCallException

Php Laravel DB Facade BadMethodCallException,php,mysql,laravel,Php,Mysql,Laravel,我正在尝试从Laravel DB Facade实现insertOrIgnore方法, 以下是指向docs+解释片段的链接: InsertOrgNore方法将忽略重复记录错误 将记录插入数据库: 下面是产生错误的代码段(它与常规的insert()一起工作) 有人能指出我做错了什么,或者至少给我一个暗示吗?提前谢谢 我也有同样的错误,结果是因为我在laravel版本5.8.32,而insertOrIgnore是在版本5.8.33中添加的 运行composer update解决了问题。按照此链接操作

我正在尝试从Laravel DB Facade实现
insertOrIgnore
方法, 以下是指向docs+解释片段的链接:

InsertOrgNore方法将忽略重复记录错误 将记录插入数据库:

下面是产生错误的代码段(它与常规的
insert()
一起工作)


有人能指出我做错了什么,或者至少给我一个暗示吗?提前谢谢

我也有同样的错误,结果是因为我在laravel版本
5.8.32
,而
insertOrIgnore
是在版本
5.8.33
中添加的


运行
composer update
解决了问题。

按照此链接操作您使用的是哪个版本的Laravel?@KuldeepMishra非常感谢@CaddyDZ 5.8,与v中的文件相同。5.8和6.0该函数的语法仅使用Postgres、MySql和Sqlite驱动程序定义,如果使用SqlServer,则会引发异常
此数据库引擎不支持插入,同时忽略错误
而不是
未定义的方法

DB::table('users')->insertOrIgnore([
    ['id' => 1, 'email' => 'taylor@example.com'],
    ['id' => 2, 'email' => 'dayle@example.com']
]);
if ($datetime->format('H:i') >= '05:50' && $datetime->format('H:i') <= '07:10') {
    DB::table('attendanceTable')->insertOrIgnore(['user_id' => $request->loggedUserId, 'day' => $datetime,  'shift_id' => $Shifts->id, 'created_at' => $datetime, 'updated_at' => $datetime]);
Call to undefined method Illuminate\Database\Query\Builder::insertOrIgnore()