Yii比较两个不同模型的属性值

时间:2014-04-16 10:49:52

标签: php yii

在我的网络应用程序中,我需要比较两个不同模型的属性值

我想将名为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'),  

        );
    }

1 个答案:

答案 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函数?