- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果查找结果为空,我检查 afterFind 回调之前。由于回调在最新版本中被删除,在哪里可以从行为中检查回调?
我不确定这是否是我需要的。我的用例是,我想知道查询是否没有结果。然后我会创建一个默认条目,因此它有 1 个结果。
最佳答案
https://book.cakephp.org/3.0/en/appendices/orm-migration.html#no-afterfind-event-or-virtual-fields
Once defined you can access your new property using $user->full_name. Using the Modifying Results with Map/Reduce features of the ORM allow you to build aggregated data from your results, which is another use case that the afterFind callback was often used for.
https://api.cakephp.org/3.4/class-Cake.ORM.ResultSet.html#_count
不知道您为什么不使用它并想手动计数,但请继续。
https://book.cakephp.org/3.0/en/orm/query-builder.html#adding-calculated-fields
您的行为必须将 beforeFind() 中的格式化程序添加到查询中。您也可以添加添加它的自定义查找。示例代码(取自文档):
$query->formatResults(function (\Cake\Collection\CollectionInterface $results) {
return $results->map(function ($row) {
$row['age'] = $row['birth_date']->diff(new \DateTime)->y;
return $row;
});
});
在那里计算结果。
https://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#map-reduce
More often than not, find operations require post-processing the data that is found in the database. While entities’ getter methods can take care of most of the virtual property generation or special data formatting, sometimes you need to change the data structure in a more fundamental way.
您的行为必须将 beforeFind() 中的映射器/缩减器添加到查询中。您也可以添加添加它的自定义查找。示例代码(取自文档):
$articlesByStatus = $articles->find()
->where(['author_id' => 1])
->mapReduce($mapper, $reducer);
查看上面的链接以获得详细说明,包括如何创建映射器和缩减器的示例。
关于CakePHP3 删除afterFind后,查询结果是否为空,去哪里检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44904177/
因此,当我在相应的模型/ Controller 中时,afterFind 工作得很好。但是,在调用关联模型时,发送到 afterFind 回调的数据的格式不同。这会导致 afterFind 崩溃,因为
laravel 中是否有任何 afterFind() 模型事件,如 cakePHP 中那样,以便我可以在任何搜索查询后格式化数据。或任何其他方式来做到这一点? 谢谢 最佳答案 这不是事件,而是您可以在
我正在使用 afterFind 函数来修改 find 函数中的数据。它工作正常。如果我将 afterFind 函数移动到一个行为中(在插件中),它仍然可以工作,但只有当感兴趣的模型是主要模型时,即当模
我正在尝试显示我们客户的各个时区以及由此得出的本地时间的列表。现在,在我的客户端模型中,我有以下函数 (doAfterFind),它只是 afterFind 的包装,提供一致的格式。 public f
如果我使用 model 的 afterFind 函数根据它们的 GEO 位置调整数据,如下所示: #app/models/product.php function afterFind($result
我有一个 cakePHP 应用程序,它从两个不同的数据库中提取数据,这两个数据库将日期和时间存储在来自不同时区的数据中。一个数据库的时区是 Europe/Berlin,另一个是 Australia/S
我正在尝试在模型上实现一个 afterFind Hook ,但不太清楚语义是什么。我将使用文档和其他 StackOverflow 问题作为指南,从反复试验中总结出以下内容。 我的目标是处理结果(通过应
在sails.js 中,模型支持验证、创建、更新和销毁的生命周期回调。 是否也支持 find() 或 query 的回调?像 beforeFind() 和 afterFind()? 这个想法是一样的。
我有两个模型 User 和 Email。 Email 有一个来自 User 的外键。 电子邮件在数据库中的值在保存到数据库之前被加密。并且在检索电子邮件时对其进行解密。因此,电子邮件在数据库中永远不会
CakePHP 的 Model::afterFind()回调看起来像: afterFind(array $results, boolean $primary = false) 根据文档: The $p
我有两个模型。 Purchase 和 PurchaseDetail 与它们相关联 Purchase.hasMany(models.PurchaseDetail) PurchaseDetail.belo
我试图在模型上运行 afterFind Hook ,但运行查询后,console.log 中的 JSON.stringify 结果似乎没有改变。但是,如果我专门记录该属性,数据就会更改。 // on
我在nodejs中有一个使用sequelize的项目。 我正在尝试在模型中执行 FindAll,但出现此错误: Cannot read property 'findAll' of undefined
我是一名优秀的程序员,十分优秀!