【Yii2】模型Model中使用rules规则定义场景setScenario限制规则
【摘要】
业务需求
在我们的日常需求中,会有这种
数据表中存在图片字段,为必填,需要在操作过程中做到
创建数据时,图片字段必须
修改数据时,图片字段如果不传,就不修改
解决方案
业务数据操作
如...
业务需求
在我们的日常需求中,会有这种
数据表中存在图片字段,为必填,需要在操作过程中做到
- 创建数据时,图片字段必须
- 修改数据时,图片字段如果不传,就不修改
解决方案
业务数据操作
如果要保持原来的图片数据,那只要修改的时候带着原来的参数即可
- 加载表单时带原来的数据
- 图片数据放在隐藏的文本域中
- 提交表单时如果图片上传的字段没有值,就将原来的图片数据从隐藏文本域中拿出来
这样的操作当然能满足需求,但是太复杂了
定义场景setScenario
在Yii的数据操作中,一般的逻辑如下
- 判断是否有提交数据
Yii::$app->request->post()
- 表单数据加载到模型model中
$model->load(Yii::$app->request->post())
- 保存model的数据
$model->save()
重点时第三步,在save
的操作中,默认执行验证操作,判断提交的数据是否如何model中的规则
/**
* Saves the current record.
*
* This method will call [[insert()]] when [[isNewRecord
- 1
- 2
- 3
文章来源: coderfix.blog.csdn.net,作者:小雨青年,版权归原作者所有,如需转载,请联系作者。
原文链接:coderfix.blog.csdn.net/article/details/106103771
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)