我有两个模型
Patient Admission
有两列,例如 admission_date
和 discharge_date
和另一个模型 daily_ward_entry
有一个日期字段只说 date
两个模型都与 ipd_patient_id
现在我想要的是创建一个或两个验证器,以便我可以限制 daily_ward_entry
between admission_date
和 出院日期
我查看了compare validator
,但我不知道如何替换要与另一个具有关系的模型的属性进行比较的值。
我尝试了以下变体,但它总是抛出错误:
变化一
[$this->discharge_date, 'compare', 'compareValue' => $this->admission_date,
'operator' => '>='],
错误 - Unknown Property – yii\base\UnknownPropertyException
变体二
['discharge_date', 'compare', 'compareValue' => 'admission_date', 'operator' => '>='],
错误 - 出院日期必须大于或等于“admission_date”。
无论日期是早于还是晚于,都会生成此错误
变化三
[strtotime($this->discharge_date), 'compare', 'compareValue' =>
strtotime($this->admission_date), 'operator' => '>='],
错误 - Unknown Property – yii\base\UnknownPropertyException
我需要一些指导和帮助。 谢谢。
最佳答案
在这种情况下,您必须执行自定义验证。在自定义函数中,您将在 POST 中获取所有模型数据,因此您可以获取数据并执行验证。
关于php - Yii2:基于两种模型的日期自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29175853/