Yii的数值唯一性-场景与SQL

1.sql方法

$hasCount = User::find()
     ->where(['or', ['name' => $name], ['code' => $code]])
     ->andWhere(['!=', 'id', $id])
     ->andWhere(['isDelete' => '0'])
     ->count();

if ($hasCount) {
     return JsonService::responseError("已经存在");
}

2.yii场景方法

//场景的设置 会执行这个场景
$model->scenario = 'unique';

//rule的规则里面
[['name'], 'unique', 'filter' => function ($query) {
    return $query->andWhere(['status' => 'A']);
}, 'on' => 'unique']


$query是一个查询的对象  这里是一个虚参

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值