【发布时间】:2015-01-29 10:31:10
【问题描述】:
我有以下数据库模型。
Model1 hasMany Users
Model2 hasMany Users
Model3 hasMany Users
并且一个用户只能属于一个模型。所以表用户字段如下:
id username password model1_id model2_id model3_id
我需要在 CakePHP 用户模型中检查三个外键不能同时为 NULL。
解决这个问题的最佳方法是什么?因为我无法创建任何自定义验证规则,所以考虑使用验证规则来验证一个字段。那么如何验证多个字段并打印相关的验证错误。
【问题讨论】:
-
不应该在你的数据库中声明吗?或者您是说它们在任何给定时间都必须属于一个且仅属于一个?
-
我想在 NULL、NULL、NULL 的情况下显示错误。就是这样。
-
那么
1, 2, NULL和1, 2, 3呢,这就是@Mr.E 所要求的。这种多外键方案通常是数据库设计不佳的一个指标。如果你想出一个更真实的例子,人们可能会给你一个提示。 -
好的,我将解释上下文:例如,您想创建一个应用程序,您可以在其中授予对商店、销售人员和卖家的访问权限。每个人都有一张表格,里面填满了您的信息。请注意,如果是商店、卖家或推销员,您会保存不同的信息。要访问您的应用程序,您必须为每种类型的用户分配用户。那么您将如何创建数据库以及如何获取用户资料?用户可以是卖家、商店或销售人员。请注意,一个商店可以有多个用户。请告诉我一个更好的设计卖家、商店或销售人员。告诉我一个更好的设计。
-
所以用户有3个键seller_id,shop_id和sales_id,1个用户可以属于3个表之一,3个字段中,3个不能为空。
标签: php validation cakephp