【发布时间】:2014-07-02 21:26:46
【问题描述】:
我有一张这样的桌子
Schema::create('user', function(Blueprint $table)
{
$table->increments('id');
$table->datetime('DateTimeCode');
$table->integer('user_id');
$table->integer('Foo');
$table->softDeletes();
$table->timestamps();
$table->unique(array('user_id', 'DateTimeCode'));
});
当我尝试时
User::firstOrCreate($SomeData);
或者
$new_user = new User($SomeData);
$new_user->save();
我明白了
Integrity constraint violation: 1062 Duplicate entry
我不明白,因为我认为我的唯一值定义明确,save() 和 firstOrCreate() 应该只在新记录不存在的情况下插入它。
【问题讨论】:
-
能否也粘贴
$someData变量,可能有错误 -
我面临同样的问题@Wistar。你找到解决办法了吗?
-
我相信我做了类似
//Checks if user exists $user = User::where('a', $a)->where('b', $b)->first(); if(!$user){ $new_user = new User($SomeData); $new_user->save(); }else{ //User already exists }
标签: php laravel-4 eloquent on-duplicate-key