【问题标题】:CakePHP: validation of associations without databaseCakePHP:验证没有数据库的关联
【发布时间】:2014-03-21 09:02:35
【问题描述】:

如何在没有数据库表的情况下创建和验证关联模型?

我想使用模型来收集用户输入并对其进行验证。我想在没有数据库的情况下利用关联模型的内置模型验证。

【问题讨论】:

    标签: cakephp-2.4


    【解决方案1】:

    在您的模型中指定您不需要数据库表:

    class MyModel extends AppModel {
        public $useTable = false;
    }
    

    其余验证和关联的配置方式应与您使用 DB 相同。

    欲了解更多信息,请参阅文档:http://book.cakephp.org/2.0/en/models/model-attributes.html

    【讨论】:

    • 嗨,谢谢,我知道。但是我该怎么处理这些协会?我有一些模型,它与其他几个模型相关。所有这些模型都包含用户数据,当我在第一个模型上调用“验证”函数时,应该验证这些数据。
    • Bad Return Key... 目前,我每个型号都有一张桌子。但是出于某种原因,我必须摆脱这些表并将所有数据保存在 json 结构中作为字符串。所以基本上我想在更改数据库时尽可能少地更改模型类。
    【解决方案2】:

    添加这个(确保在 YourModel 中有 $validate 数组):

    public $useTable = false;
    

    并在 YourController 中使用以下代码进行验证:

    if($this->YourModel->validates()) {
        // No Validation Errors
    }
    

    并查看文档:http://book.cakephp.org/2.0/en/models/data-validation/validating-data-from-the-controller.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      相关资源
      最近更新 更多