我挣扎摸出当从模型B验证独特场HABTM连接表
这里是澄清我的问题的例子的场组合如何来验证模型的一个领域,应该是唯一的:
Page hasMany SitesPage
SitesPage belongsTo Page, belongsTo Site
页有这应该是整个网站中唯一的蛞蝓场。网页可以连接到任何网站。
Page.id
Page.slug
SitesPage.id
SitesPage.site_id
SitesPage.page_id
我有一个checkUniqueSlug()自定义的验证方法,在我的页面模式,但无法验证蛞蝓是唯一的SITE_ID存储在SitesPage的网站是不具备的页面模型验证方法($这 - >数据只包含页面模型数据)。
我不能做的SitesPage模型验证作为SitesPage没有蛞蝓场,我无法看到页帖子是SitesPage。
如何创建一个自定义验证来检查slug是否是网站特有的?
一种解决方案是将slug移动到SitesPage模型中,但我们需要所有共享页面具有相同的slug。即共享“关于我们”页面必须不管有一个“about_us”蛞蝓哪个网站的页面被附接到。
另一种解决方案是在我保存之前在控制器中执行验证,但是这种方法在模型中进行验证时会感觉错误。