Laravel updateOrCreate具有自动增量数据库

sai*_*can 6 mysql laravel eloquent

我的目的是更新值是否存在,否则在提交表单后在数据库表中插入新行.

问题是,这里的函数在db表中添加了新列而不是更新它们.

这是我的功能:

MyModel::updateOrCreate(array(
    'myField' => 'myValue',
))
    ->where('myAutoIncrementalField', '=', '5')
    ->where('myPrimaryKey', '=', '8');
Run Code Online (Sandbox Code Playgroud)

我的数据库表是这样的:
1.myPrimaryKey(不是自动增量,可以在模型上填充.)
2.myAutoIncrementalField(自动增量,不能在模型上填充.)

先感谢您.

Jar*_*zyk 23

这是您使用此方法的方式:

Model::updateOrCreate(
   ['primary_key' => 8],
   ['field' => 'value', 'another_field' => 'another value']
);
Run Code Online (Sandbox Code Playgroud)

当第一个参数传递一个唯一的字段数组,或者在您的情况下,传递主键.非独特字段在这里没有意义,显然就像传递PK一样.

第二个参数是一个值数组,应该更新/创建,但在唯一/ pk搜索中被忽略.