Я изо всех сил стараюсь, чтобы мой предварительный сохранение в Yii Framework работал следующим образом:
когда пользователь отправляет форму, 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 из 'порядка', но я действительно не знал, как правильно обращаться с методом getData () в YII, поэтому я var_dumped и увидел, что то, что я искал, было там, но я до сих пор не знаю знать, как получить доступ к этому значению, кроме
$whatweneed=$got_it[0]['myMaxOrder'];
Не могли бы вы сказать мне, как это сделать правильно?