2011-12-01 12 views
10

में बराबर ऑपरेटर का उपयोग करने से मुझे ऐसा लगता है कि ऐसा लगता है।केकफ़्पी

$this->paginate('Article', array('Article.status !=' => 'Inactive', 'Article.user_id !=' => $blocked_ids, 'Article.tags LIKE' => "%" . trim($this->params['url']['tag']) . "%")) 

जहां $ block_ids ids की सरणी है। यह एक त्रुटि

SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= ('170') 

जब मैंने != हटा दिया तो यह ठीक काम करता है। कोई त्रुटि

मैं किसी भी मदद की सराहना करता हूं।

उत्तर

0

बजाय [MySQL Reference]NOT IN उपयोग करके देखें:

$this->paginate('Article', array('Article.status !=' => 'Inactive', 'Article.user_id NOT IN' => $blocked_ids, 'Article.tags LIKE' => "%" . trim($this->params['url']['tag']) . "%")) 
+0

नहीं काम करने के लिए प्रतीत नहीं होता। वही त्रुटि –

2

जब आप अपने मॉडल समारोह में अपने डेटा को हो रही है यह संभाला जाना चाहिए लिया। आप उन्हें इस तरह कोड का उपयोग करके बाहर करना चाहिए:

'conditions' => array(
    'Article.status' => 'active', 
10
$this->paginate(
       'Article', 
       array (
        'Article.status <>' => 'Inactive', 
        'Article.user_id !=' => $blocked_ids, 
        'Article.tags LIKE' => "%" . trim($this->params['url']['tag']) . "%" 
        ) 
      ); 
संबंधित मुद्दे