我有一个继承 Illuminate\Database\Query\Builder 的类,并创建了一个自定义方法以在重复键更新时插入。
有什么方法可以将后缀附加到 insert() 调用中吗?
我环顾四周,在 Laravel 的查询构建器中没有太多关于 SQL 查询的后缀或前缀的资源。
如果可以避免,我希望将 Query Builder 中原始 insert() 方法的主体复制到我的自定义方法中,因为这不是好的做法。
感谢任何帮助。谢谢!
请注意,出于各种原因我不使用 Eloquent,但在这个问题中解释太多,超出了范围。
最佳答案
我无法在查询生成器本身中找到任何方法来执行此操作(缺少“原始”,这有点不对劲)。但是您可能想看看“Eloquent”updateOrCreate() 方法,例如在 Laravel 5.1 Create or Update on Duplicate 中讨论过的,或相关问题 Update Duplicate Data when insert data in laravel
在 https://gist.github.com/VadimGut/672da182921f70dfcea972e207e86676 处还有一个 insertOnDuplicateKeyUpdate() 函数的实现。 ,它组装原始 SQL 并运行它。
关于mysql - Laravel 5 查询生成器 - 将 "ON DUPLICATE KEY UPDATE"附加到 insert() 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37451113/