dongyukang7006 2015-07-24 06:23
浏览 43

CakePHP Hash :: diff工作不正常

I want to send to my view 2 arrays - second one shouldn't have elements from the first one. I used Hash::diff but it doesn't work great with CakePHP arrays.

    $edited = $this->Instrument->find('all', array(
         'conditions'=>array(
            'status' => '1'),
        'fields' => array('Instrument.id',[and other fields]),
         'order'=> array('modified'=>'desc'),
         'limit'=>100
     ));


    $new = $this->Instrument->find('all', array(
         'conditions'=>array(
            'status' => '1'),
        'fields' => array('Instrument.id', [and other fields]),
         'order'=> array('added'=>'desc'),
         'limit'=>5
     ));


 $this->set(array(
     'edytowane'=>Hash::diff($edited, $new),
     'nowe'=>$new
 ));

But after that I sometimes have few the same records in $edytowane as in $new variable. What do I wrong ? :)

  • 写回答

1条回答 默认 最新

  • dongmi1872 2015-07-24 20:19
    关注

    I have done it like that - it's rather a bit not efficient, but works fine for me:

    $ids_nowych = array();   
    
    $new = $this->Instrument->find('all', array(
             'conditions'=>array(
                'status' => '1'),
            'fields' => array('Instrument.id',[and other fields]),
             'order'=> array('added'=>'desc'),
             'limit'=>5
         ));
    
    
    foreach ($new as $n){
            $ids_nowych[] = $n['Instrument']['id']; 
    }
    
    
        $edited = $this->Instrument->find('all', array(
             'conditions'=>array(
                'status' => '1',
                'NOT' => array(
                    'Instrument.id' => $ids_nowych
                )),
            'fields' => array('Instrument.id',[and other fields]),
             'order'=> array('modified'=>'desc'),
             'limit'=>100
         ));
    
    
    
    
     $this->set(array(
         'edytowane'=>$edited,
         'nowe'=>$new
     ));
    
    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP