在我的网络应用程序中,我需要比较两个不同模型的属性值
我想将名为booked_quantity
的模型的名为BookVegetable
的属性的值与模型名称offered_qty
的名为ProducerOffer
的属性的值进行比较。我想要的是booked_quantity
的值应该小于或等于provided_qty但不大于。我尝试搜索它,但没有找到比较两个不同模型属性值的位置。
我该怎么办?或者我应该在控制器本身进行比较?并生成Flash错误消息?
我试过的代码却徒劳无功
public function compareBookedQuantity($booked_quantity,$params){
$count = BookVegetable::model()->findByAttributes(array('booked_quantity'=>$booked_quantity));
if ($count > $this->offered_qty){
$this->addError($booked_quantity,'Please enter a quantity lesser than offered quantity');
}
}
public function rules()
{
return array(
array('offered_qty','compareBookedQuantity'),
);
}
在我的表格中,我有两种模特的价值观。我该如何比较属性值?请帮忙 关系函数在ProducerOffer模型中。
public function relations()
{
return array( 'producerOfferBookVegetableRelation'=>array(self::BELONGS_TO, 'BookVegetable','id'),
);
}
答案 0 :(得分:0)
首先,如果你想获得reservations_quantity,它将会显示
$count = BookVegetable::model()->findByAttributes(array('booked_quantity'=>$booked_quantity))->booked_quantity;
第二,
public function compareBookedQuantity($ booked_quantity,$ params)
这里$ booked_quantity ==' offers_qty'。它是属性的名称。 但我并不完全理解你的问题。什么模型包含compareBookedQuantity函数?