4.4.5 保存(新增与更新的结合)
save():操作的对象为空则为新增,操作的对象为实体则为更新
- 对空对象做新增操作
<?php
namespace App\Controller;
class IndexController extends AbstractController
{
public function index()
{
// 定义一个空对象
$userActivity = new \App\Model\UserActivity();
// 对UserActivity对线里的成员属性做赋值
$userActivity->merchant_no = '11211';
$userActivity->title = 'test';
$userActivity->desc = 'desc';
$userActivity->status = 1;
$userActivity->meta = [
"cover_pic" => "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591770047788&di=8efc808496c85415054dae40e1a7f06a&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F56%2F12%2F01300000164151121576126282411.jpg",
"share_pic" => "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591770047788&di=8efc808496c85415054dae40e1a7f06a&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F56%2F12%2F01300000164151121576126282411.jpg",
"rule"=> "rule"
];
$userActivity->cdn_addr = '';
// 保存数据到数据库里
$userActivity->save();
// 返回数组格式的数据
return $userActivity->toArray();
}
}
- 对实体对象做更新操作
<?php
namespace App\Controller;
class IndexController extends AbstractController
{
public function index()
{
// 查询出一条记录
$userActivity = \App\Model\UserActivity::query()->find(10028);
// 对UserActivity对线里的成员属性做赋值
$userActivity->merchant_no = '11211';
$userActivity->title = 'test';
$userActivity->desc = 'desc';
$userActivity->status = 1;
$userActivity->meta = [
"cover_pic" => "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591770047788&di=8efc808496c85415054dae40e1a7f06a&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F56%2F12%2F01300000164151121576126282411.jpg",
"share_pic" => "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591770047788&di=8efc808496c85415054dae40e1a7f06a&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F56%2F12%2F01300000164151121576126282411.jpg",
"rule"=> "rule"
];
$userActivity->cdn_addr = '';
// 保存数据到数据库里
$userActivity->save();
// 返回数组格式的数据
return $userActivity->toArray();
}
}
updateOrCreate():根据条件查找到第一条记录,如果记录不存在就新增,否则就更新记录
<?php
namespace App\Controller;
class IndexController extends AbstractController
{
public function index()
{
// 根据条件查找到第一条记录,如果记录不存在就新增,否则就更新记录
return \App\Model\UserActivity::query()->updateOrCreate([
'merchant_no' => '11211',
'title' => 'test',
], [
'desc' => 'aaaaaaaaaaaaaaaaaa',
'status' => 1,
'meta' => [
"cover_pic" => "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591770047788&di=8efc808496c85415054dae40e1a7f06a&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F56%2F12%2F01300000164151121576126282411.jpg",
"share_pic" => "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591770047788&di=8efc808496c85415054dae40e1a7f06a&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F56%2F12%2F01300000164151121576126282411.jpg",
"rule"=> "rule"
],
])->toArray();
}
}文档更新时间: 2021-09-24 17:25 作者:赵豪