代码
width: 350, height: 450
我正在使用此代码尝试更新/创建新记录。我们首先要考虑Entry::updateOrCreate([
'intern_id'=>$intern['id'],
'created_at'=>Carbon::parse($input['date'])
],[
'company_id'=>$intern['supervisor']['company']['id'],
'content'=>$input['text']
]);
和intern_id
列。如果找到,则创建一个新的。但是,它似乎总是创建一个新的,当它创建一个新的时,create_at
和company_id
列设置为0而不是原始值。
注意:intern_id
或intern_id
不是PK列。
注2:created_at
是日期类型,而不是日期时间
答案 0 :(得分:5)
使用此代码
Entry::updateOrCreate(['intern_id'=>$intern['id']],
[
'created_at'=>Carbon::parse($input['date']),
'company_id'=> $intern['supervisor']['company']['id'],
'content'=>$input['text']
]);
我相信这会奏效。
Model Abstract Class的 updateOrCreate()
函数有2个参数,但参数传递是破坏的。
/**
* Create or update a record matching the attributes, and fill it with values.
*
* @param array $attributes
* @param array $values
* @return static
*/
public static function updateOrCreate(array $attributes, array $values = array())
{
$instance = static::firstOrNew($attributes);
$instance->fill($values)->save();
return $instance;
}
答案 1 :(得分:1)
CALENDAR CLIENTID TOTAL CALENDAR CLIENTID TOTAL CALENDAR CLIENTID TOTAL
2017-08-01 2090 0 2017-08-02 2090 0 2017-08-03 2090 0
因为第一次搜索第一个参数数组 找到一条带日期的行,找到第二条带其他日期的行 -----------
//如果要从奥克兰飞往圣地亚哥,则将价格设置为$ 99。 //如果不存在匹配的模型,请创建一个。
Entry::updateOrCreate(
[
'intern_id' => $intern['id'],
],
[
'created_at' => Carbon::parse($input['date'])
'company_id' => $intern['supervisor']['company']['id'],
'content' => $input['text']
]
);