【问题标题】:Laravel 5: insert row with possibility of duplicationLaravel 5:插入可能重复的行
【发布时间】:2015-11-09 13:58:29
【问题描述】:

如何在唯一列中插入可能重复的行并返回是否插入了项目?

试过了:

$id = DB::insert("INSERT IGNORE INTO question (id,text) values (10,'test')");

$id 总是返回值 = 1

也试过了:

$id = DB::table('question')->insertGetId(['id' => 10, 'text' => 'test'])->ignore();

但是ignore()没有效果!

【问题讨论】:

  • 您的代码并不代表 Laravels insert 函数的构建方式。请像Laravel docs 一样尝试并报告我们。
  • 上述两种方式,Laravel 5 都支持
  • 我对你想要做什么有点困惑。是否要插入不存在的行,如果已存在则返回?
  • 我要插入一行,插入与否通知我(重复的原因)
  • 您是否查看过本页列出的 firstOrCreate / firstOrNew 方法。 laravel.com/docs/5.1/eloquent

标签: php mysql laravel laravel-5


【解决方案1】:
try {
    DB::table('arv_groups')->insert([
        'grouphash' => $grouphash,
        'id_photo' => $id
    ]);
} catch(\Illuminate\Database\QueryException $e){
    // I DON'T CARE IT'S DUPLICATE !!! THANK YOU VERY MUCH!
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2016-01-20
    • 2019-01-30
    • 2020-04-30
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多