加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如果date相等,Array_multisort会失败

发布时间:2020-12-13 22:25:42 所属栏目:PHP教程 来源:网络整理
导读:我正在使用yii框架并使用CArrayDataProvider,因为我的数据提供程序包含3个表.但是如果我在此使用Sort. $sort = new CSort; $sort-defaultOrder = 'created DESC'; $dataProvidermain=new CArrayDataProvider($data,array( 'id'='user','sort' = $sort,'pagin
我正在使用yii框架并使用CArrayDataProvider,因为我的数据提供程序包含3个表.但是如果我在此使用Sort.

$sort = new CSort;
        $sort->defaultOrder = 'created DESC';
        $dataProvidermain=new CArrayDataProvider($data,array(
            'id'=>'user','sort' => $sort,'pagination'=>array(
                'pageSize'=>20,),));

它正在抛出错误

Fatal error: Nesting level too deep – recursive dependency? in
/var/www/goalsurf/framework/web/CArrayDataProvider.php on line 151

调试之后,我知道当2个或更多元素的日期相等时它会抛出此错误.我有三个具有相同日期的实体.2016-02-06 10:10:51.如果我更改2条记录的日期,它就可以了.试图从过去2天解决这个问题.搜索谷歌但没有解决方案.

请帮帮我.

更新
这是数组格式

[68] => Tasks Object
        (
            [taskmodel] => 1
            [quickacent] => 15
            [dailygoal] => 
            [weeklygoal] => 
            [dailygoal2] => 
            [_new:CActiveRecord:private] => 
            [_attributes:CActiveRecord:private] => Array
                (
                    [id] => 563
                    [guid] => 650c7572-3fae-4f9a-a476-8de6a21c329e
                    [user_id] => 44
                    [deli_id] => 0
                    [branch_id] => 0
                    [main_goal_id] => 0
                    [title] => Buy Babycon Dress
                    [thumb_ext] => 
                    [description] => 
                    [ecv] => 
                    [isSpam] => 0
                    [displayorder] => 0
                    [created] => 2016-02-06 10:10:52
                    [modified] => 2016-02-06 10:10:52
                )
         )
)

更新2

我的$data变量是

$dataProvider=new CActiveDataProvider('Goals',array('criteria' => $criteria,'pagination'=>false));

   $dataProvider2=new CActiveDataProvider('Tasks',array('criteria' => $criteria2,'pagination'=>false));

   $dataProvider3=new CActiveDataProvider('TasksDaily','pagination'=>false));
    //echo "<pre>"; print_r($dataProvider2->getData()); die;
    $data=array_merge($dataProvider->getData(),$dataProvider2->getData(),$dataProvider3->getData());

解决方法

试试这个:$sort-> defaultOrder =’创建DESC,id ASC’;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读