Сообщество, есть проблема с несколькими таблицами, которые получают свои записи одной и той же модели «Опубликовать» на той же странице. При нажатии на номер пагарина приложение изменит страницу для обеих таблиц.Cake PHP paginate несколько таблиц одной модели
Я пробовал это с помощью фиктивных классов в AppModel, который должен работать, но я получаю сообщение об ошибке, вызвавшей внутреннюю ошибку (ошибка 500). Я обнаружил, что существует проблема с соответствующим SQL-заявлением с не найденной строкой.
В AppModel:
class PostHood extends Post {
public $useTable = 'posts';
};
Этот код использует таблицу "cake_posts" из "класса Post расширяет AppModel". В контроллере я пытался получить PostHood как следующее:
$this->paginate['PostHood'] = array(
'conditions' => array('OR' => array(stuff)),
'limit' => 5
);
$this->set('postsHood', $this->paginate('PostHood'));
В представлении есть Еогеасп-цикл с использованием $ postsHood в $ пост. Возможно, у вас есть идея, спасибо заранее
EDIT 1: У меня есть уведомления об ошибках после изменения кода. Может быть, у вас есть идея, что делать. Изменение AppModel:
class PostHood extends AppModel {
var $name = 'Post';
public $useTable = 'posts';
};
Контроллер:
$this->loadModel('PostHood');
$this->paginate = array(
'conditions' => array('OR' =>
array(
array('AND' => array(
array('PostHood.ZIPCODE LIKE' => $userArea . '%'),
array('PostHood.ALTDATE >' => date("Y-m-d")),
array('PostHood.AGENT' => '0'),
array('PostHood.OWNER <>' => $this->UserAuth->getUserId()),
array('PostHood.PARENTID' => '0'),
array('PostHood.ACCEPTED' => '0')
)), [MORE AND ARRAYS]
$this->set('postsHood', $this->paginate('PostHood'));
Соответствующая ошибка в представлении:
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Post.DATE' in 'order clause'
SQL запросов: SELECT PostHood
. id
, PostHood
. B/S
, PostHood
. H
, PostHood
. CITY
, PostHood
. MARKET
, PostHood
. DATE
, PostHood
. ALTDATE
, PostHood
. TIME
, PostHood
. INCOME
, PostHood
. ZIPCODE
, PostHood
. ALIAS
, PostHood
. VEHICLE
, PostHood
. DELIVERYAREA
, PostHood
. SPACE
, PostHood
. STREET
, PostHood
. HOUSENUMBER
, PostHood
. NAME
, PostHood
. CART
, PostHood
. TEL
, PostHood
. OWNER
, PostHood
. created
, PostHood
. modified
, PostHood
. AGENT
, PostHood
. EXTRADATA
, PostHood
. PARENTID
, PostHood
. BRATED
, PostHood
. SRATED
, PostHood
. REQUESTED
, PostHood
. ACCEPTED
ОТ usr_web126986_4
. cake_posts
AS PostHood
ГДЕ 1 = 1 ЗАКАЗАТЬ Post
.DATE
asc LIMIT 5
Очевидно, что Cake пытается получить данные с помощью «PostHood», но таблица «posts», которую я действительно хочу использовать, прослушивает «Post.field». Как я могу это исправить? Спасибо :)
Hi Thorpe, это не работает. Мой вопрос очень похож на этот: http://stackoverflow.com/questions/2305839/cakephp-two-separate-paginations-of-the-same-model Я попытался выполнить последний ответ, но он не работает , – Karl