cakephp - CakePHP 4 - 实体默认属性
问题描述
我尝试在 cakephp 的实体类中设置默认值。在文档中,我没有发现任何关于https://book.cakephp.org/4/en/orm/entities.html的信息。我知道我可以在 beforesave 方法CakePHP 3 Entity 默认字段值中设置值,但这为时已晚。
例如:我有一个文章实体类,如果它不是从帖子数据发送的,我不会创建一个文章编号。在验证器中是标记为必填的数字字段。
$validator
->scalar('number')
->maxLength('number', 100)
->requirePresence('number',true)
->notEmptyString('number');
现在的问题是,如果我运行该$this->Articles->save()
方法,则 beforesave 方法在验证后运行。我也试过这个实体中的构造方法https://api.cakephp.org/4.0/class-Cake.ORM.Entity.html#__construct但是每次出错时都会执行
函数 App\Model\Entity\Article::__construct() 的参数太少,在第 185 行的 /var/www/html/vendor/cakephp/cakephp/src/ORM/Marshaller.php 中传递了 0,而预期为 2
我也知道如果没有设置,我可以在控制器中设置数字,但想在文章实体类中将其设置为默认值。这是许多属性示例之一。我希望任何人都可以解决这个问题。
解决方案
推荐阅读
- javascript - 尝试替换时缺少部分字符串
- sql - SQL - Oracle 子查询过滤掉数据
- amazon-web-services - 如何使用 dynamodbiface.expression 为 `dynamodb.UpdateItemInput` 设置`ConditionExpression`
- collections - 如何在 Shopify 的下拉菜单中显示集合产品计数?
- azure - Azure 函数从 github 操作部署导致错误:连接 ECONNREFUSED 127.0.0.1:443
- flutter - floatingActionButton 显示,但图为空
- vue.js - 如何在 vue-router 中更改当前路由
- javascript - Reactjs:如何从变量路径导入图像
- ruby-on-rails - Layout/EndOfLine:检测到回车符。模块 TieConnector
- c++ - 为什么列出目录中所有文件的代码会崩溃?