【问题标题】:How can I limit the maximum number of HABTM and hasMany records SAVED per parent Model in CakePHP?如何限制在 CakePHP 中每个父模型保存的 HABTM 和 hasMany 记录的最大数量?
【发布时间】:2010-09-20 15:00:37
【问题描述】:

我正在使用 CakePHP 框架重建我的一个网站(太棒了!),我需要限制模型可以拥有的 hasMany 和 HABTM 记录的数量。假设对于“Profile hasMany Image”,我想将配置文件限制为仅 10 张图片。

我知道我可以使用带有“count”的 Find 方法轻松完成此操作,但我想知道是否有一个属性可以设置在我忽略的某个地方。我查看了 CakePHP 文档并在 Google 上搜索了一下,什么也没看到,但我总是时不时地遇到小的 CakePHP 秘密。

【问题讨论】:

    标签: php cakephp


    【解决方案1】:

    我写了一个HabtmCounterCache Behavior for CakePHP。让我知道你的想法。

    【讨论】:

    • 是的!还没有在我的应用程序中尝试过,但这可能是完美的。感谢您的链接(以及出色的工作)。
    【解决方案2】:

    唯一可能比$this->Model->find('count') 稍微容易一点的是实现counterCache。

    http://book.cakephp.org/view/1033/counterCache-Cache-your-count

    但我认为这不适用于 HABTM 关系。我相当肯定没有内置的方法来限制具有简单模型属性或类似属性的关联记录的数量。不过,您必须编写的代码量相当小。

    【讨论】:

    • 谢谢。 counterCache 对于 hasMany 来说看起来很棒。将不得不为 HABTM 输入更多代码!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2015-11-05
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多