【问题标题】:CakePHP 2.6 Validation Rule isUnique per belongsTo ParentCakePHP 2.6 验证规则 isUnique per belongsTo Parent
【发布时间】:2015-04-07 19:37:12
【问题描述】:

我正在尝试弄清楚如何构建验证规则,我可以举出的最简单的示例是使用学生电子邮件进行班级注册。我希望每个班级能够拥有唯一的学生电子邮件注册,但我也希望学生能够使用相同的电子邮件注册多个班级。

Class hasMany Students (id, name, limit)

Student belongsTo Class (id, email, class_id)

示例场景:

A班,有学生注册:abc@email.edu(如果abc@email.edu再次注册该班级,则不允许。)

B 班,可能有学生注册:abc@email.edu,因为它是不同的班级。

那么有没有办法将 isUnique 与另一个规则结合使用,或者这是自定义验证器的情况?谢谢!

【问题讨论】:

    标签: validation cakephp cakephp-2.6


    【解决方案1】:

    我想我必须在这里回答一个不同的问题,因为您的模型关联没有意义。

    如果任何一个学生可以参加多个课程并且一个班级可以有多个学生,那么您的关联需要是 hasAndBelongsToMany。那么,您的students 表将没有class_id。相反,您将设置一个连接表classes_students,其中包含class_idstudent_id

    然后您可以在连接表上添加验证规则,以确保没有学生两次上同一门课。请参阅此Making HABTM relationships unique in CakePHP 问题。

    【讨论】:

    • 知道了,我试试这个模型关联。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2011-04-29
    相关资源
    最近更新 更多