在form表单里,给 alias 字段的加唯一条件 判断时 增加判断条件 leftStatus = 1。
PHP版本8.1、laravel9。
$form->text('alias', '别名') ->ruleUnique($this->modelTable) ->ruleRegex('/^[a-zA-Z0-9_\-]*[a-zA-Z][a-zA-Z0-9_\-]*$/') ->help('数字字母下划线组成,不能是纯数字,可以通过 <code>a/别名</code> 别名访问内容') ->repositoryFilter(function (RepositoryFilter $filter) use () { $filter->where(['leftStatus' => 1]); });
这里增加 RepositoryFilter 会报错。那这里怎么实现增加过滤条件呢
微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈。
目前5.x和9.x实现方式不同。可以参考一下。另外推荐放在 hookSaving 中通过代码判断。
https://laravel.com/docs/9.x/validation#rule-unique
Rule::unique('xxx')->where(fn ($query) => $query->where('leftStatus', 1))
https://laravel.com/docs/5.1/validation#rule-unique
unique:xxx,alias,NULL,id,leftStatus,1
QQ扫一扫联系
点击联系
2374926113
微信扫一扫联系
.
目前5.x和9.x实现方式不同。可以参考一下。另外推荐放在 hookSaving 中通过代码判断。
https://laravel.com/docs/9.x/validation#rule-unique
https://laravel.com/docs/5.1/validation#rule-unique