2014-03-01 4 views
0

Как сделать paginate после выполнения 2 запросов?cakephp: Paginate после выполнения 2 запросов

у меня есть:

$this->Paginator->settings = array(
       'conditions' => array('Record.status =' => 'published', 
               'RecordUser.flagged =' => null, 
           'Record.category_id =' => $likes 
           ), 
       'limit' => 5, 
       'order' => array('rate' => 'desc') 
      ); 

, и я хочу, чтобы это сделать, а также:

$this->Paginator->settings = array(
       'conditions' => array('Record.status =' => 'published', 
               'RecordUser.flagged =' => null, 
           'Record.category_id !=' => $likes 
           ), 
       'limit' => 5, 
       'order' => array('rate' => 'desc') 
      ); 

затем объединить результаты .. Проблема является результатом на 1-й пределы запроса до 5 затем продолжается на вторую страницу. Я хочу получить все результаты от первого запроса до того, как результат будет показан на втором запросе.

Как это сделать? Я использую cakephp 2.4.3

ответ

0

Почему вы не можете просто сделать один запрос и использовать заказ?

$likes = implode(',', $likes); 

$this->YourModel->virtualFields['in_like'] = "IF(Record.category_id IN ($likes), 0, 1)"; 

$this->Paginator->settings = array(
    'conditions' => array(
     'Record.status =' => 'published', 
     'RecordUser.flagged =' => null, 
    ), 
    'limit' => 10, 
    'order' => array('in_like' => 'asc', 'rate' => 'desc') 
); 
+0

мне нужно те, которые находятся в $ любит показывать на вершине перед другими записями (второй запрос) обнаружиться – Leah

+0

я редактировал, попробуйте мой код. – arilia

+0

, так что, пожалуйста, объясните, как ваш $ такой массив, как – arilia

Смежные вопросы