2016-10-07 58 views
-1

我在同一时间面临多个请求的问题。我正在检查数据库,如果此数据存在,则不插入相同的记录。CakePHP多重请求

使用CakePHP

$userdata = $this->MobappFan->find('first', array(
            'conditions' => array(
             'MobappFan.id' => 123, 
             'MobappFan.mobapp_id' => 234, 
             'MobappFan.deleted' => 0 
            ), 
            'fields' => array('MobappFan.id', 'MobappFan.status', 'MobappFan.blocked'), 
            'contain' => false 
           ) 
          ); 
if(!$userdata) { 
    $this->MobappFan->save($this->request->data); 
} 

但是2.6版本由于使用相同的参数相同的请求无法找到现有的记录。

请帮

感谢

+0

你能澄清你的意思吗?“由于同样的请求...无法找到现有记录”?这不清楚。 – Dave

回答

-1

我觉得基本上你只是想在当前检查张贴ID

你可以做到这一点,如下

$userdata = $this->MobappFan->find('first', array(
           'conditions' => array(
            'MobappFan.id' => 123, 
            'MobappFan.id !=' => $this->request->data['MobappFan']['id'], 
            'MobappFan.mobapp_id' => 234, 
            'MobappFan.deleted' => 0 
           ), 
           'fields' => array('MobappFan.id', 'MobappFan.status', 'MobappFan.blocked'), 
           'contain' => false 
          ) 
         ); 
if(!$userdata) { 
     $this->MobappFan->save($this->request->data); 
} 

$userdata = $this->MobappFan->find('first', array(
           'conditions' => array(
            'MobappFan.id' => 123, 
            "NOT" => array('MobappFan.id' => $this->request->data['MobappFan']['id']), 
            'MobappFan.mobapp_id' => 234, 
            'MobappFan.deleted' => 0 
           ), 
           'fields' => array('MobappFan.id', 'MobappFan.status', 'MobappFan.blocked'), 
           'contain' => false 
          ) 
         ); 
if(!$userdata) { 
    $this->MobappFan->save($this->request->data); 
} 

希望这有助于。如果你能解释更多你需要什么,那么我可以写出更好的条件,或者你可以查看详细信息here

+0

有一个条件来检查一个特定的ID是没有意义的,然后用一个条件来跟踪它,以确保它不是一个特定的ID。一个或另一个,但不是两个。 – Dave

+0

是的,我同意,实际上提供的细节不清楚,这就是我向rahul询问具体要求的原因。 –