cakephp 2.x在添加新记录时限制记录数(行为或模型回调方法)

cakephp 2.x在添加新记录时限制记录数(行为或模型回调方法),cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,我是cakephp的新手,从来没有写过行为。 所以我需要限制一个模型的记录数,我知道在保存之前必须做什么 型号:Document | DocumentType。文档->文档类型 我在DocumentType中存储最大数量的文档 这就是为什么我有点困惑,在按模型保存之前,我到底需要一个模型行为还是一个回调方法。 但我不知道这两个模型会如何工作。我开始这样做: class LimiteBehavior extends ModelBehavior { public

我是cakephp的新手,从来没有写过行为。 所以我需要限制一个模型的记录数,我知道在保存之前必须做什么

型号:Document | DocumentType。文档->文档类型 我在DocumentType中存储最大数量的文档

这就是为什么我有点困惑,在按模型保存之前,我到底需要一个模型行为还是一个回调方法。 但我不知道这两个模型会如何工作。我开始这样做:

     class LimiteBehavior extends ModelBehavior
       {
       public function beforeSave(Model $Model,$options=array())
                    {

}
我称之为模型:

public $actsAs=array('Limite');
这是正确的还是我应该在这里传递额外的信息

但是现在我很困惑,因为我不知道如何在行为中使用不同的模型

我必须计算文档模型记录的数量:

$this->Document->find('count')
我必须检查文档类型的最大数量:

$this->DocumentType->find->('first',array('fields'=>array('max_record')))
现在我要在行为上比较一下,但我不知道该怎么做。 请帮忙

更新1:
当max_record字段与当前记录数相等时,我不想让用户更多地插入新记录

我建议在模型中创建自定义验证规则。此验证规则可能会根据您的条件检查项目的数量,并且无法根据该规则进行保存

我会试着制定这样的规则


在这个问题上,你的行为要求并不明确。请你澄清一下你的预期行为是什么?我在你的编辑中指定了目的,你正在查看一个验证规则。请原谅,大卫戴尔,但我正在尝试验证。我不知道如何制作它,因为我必须限制文档模型,它不适合任何文档模型字段,只有记录计数。但这取决于DocumentType:max_number字段。因此,我无法申请文档字段验证:在我的情况下,$检查将是:$this->Document->find'count'==$this->DocumentType->find->'first',array'fields'=>array'max\u record'