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   作者:赵豪