小编ok_*_*ter的帖子

YII + beforeSave()+从表行获取最大值

我正在努力通过这种方式在Yii Framework中获得我的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;
 }
Run Code Online (Sandbox Code Playgroud)

代码从'order'获取MAX,但我真的不知道如何正确处理YII的getData()方法,所以我var_dumped它,看到我在看的东西,但我仍然不知道如何除了做之外,访问这个值

 $whatweneed=$got_it[0]['myMaxOrder'];
Run Code Online (Sandbox Code Playgroud)

你能告诉我怎么做对吗?

max save yii

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

max ×1

save ×1

yii ×1