【发布时间】:2011-05-04 00:13:35
【问题描述】:
我正在努力让我在 Yii 框架中的 beforesave 以这种方式工作:
当用户发送表单时,beforesave() 应该在名为 'order' 的列中获取最大的数字,并将 order+1 的值插入到当前的 'order' 字段中。
在这里花了几个小时阅读帖子后,我设法编译了这个东西:
public function beforeSave()
{
if (parent::beforeSave())
{
if($this->isNewRecord)
{
$criteria->select='max(order) as myMaxOrder';
$get_it= new CActiveDataProvider(get_class($this),
array('criteria'=>$criteria,));
$got_it=$get_it->getData();
$whatweneed=$got_it[0]['myMaxOrder'];
$this->order=(int)$whatweneed+1;
}
return true;
}
else
return false;
}
代码从“订单”获取 MAX,但我真的不知道如何正确处理 YII 的 getData() 方法,所以我 var_dumped 并看到我正在寻找的东西在那里但我仍然没有除了做
之外,知道如何访问这个值 $whatweneed=$got_it[0]['myMaxOrder'];
你能告诉我怎么做吗?
【问题讨论】: