私はsubscriber_0からsubscriber_9までの10個のサブスクライバーテーブルを持っています。サブスクライバーモデルのカスタムクエリによってユニオンを介してそれらからすべてのデータを取得します。関数getAllSubscribersで、このテーブルはクエリを実行し、結果をサブスクライバーコントローラーに返します。$useTableを設定しました。 =サブスクライバーテーブルがないためfalse、私の質問は、コントローラーでこのデータをどのようにページングするかです。
参考までに、ここにクエリを記述していますが、結果はクエリを返しました。
$query = 'SELECT * FROM (
SELECT * FROM subscriber_1
UNION
SELECT * FROM subscriber_2
UNION
SELECT * FROM subscriber_3
UNION
SELECT * FROM subscriber_4
UNION
SELECT * FROM subscriber_5
UNION
SELECT * FROM subscriber_6
UNION
SELECT * FROM subscriber_7
UNION
SELECT * FROM subscriber_8
UNION
SELECT * FROM subscriber_9
UNION
SELECT * FROM subscriber_0
) AS subscriber WHERE created > \'' . $startDate . '\' AND created < \'' . $endDate . '\'';
結果:
array(
(int) 0 => array(
'subscriber' => array(
'a_party' => '923003210861',
'subtype' => '0',
'stat' => '0',
'created' => '2012-11-26 06:53:31',
'updated' => null
)
),
(int) 1 => array(
'subscriber' => array(
'a_party' => '923005264511',
'subtype' => '0',
'stat' => '0',
'created' => '2012-11-26 06:53:31',
'updated' => null
)
)
,
.
.
.
.(int) 50 => ...
これをサブスクライバーコントローラーに追加しました
public $paginate = array(
'limit' => 10
);
他に何を追加する必要がありますか?
私はこれを見ましたが、助けにはなりません
CakePHPは、コントローラーからモデルpaginate()にカスタムクエリを渡します
編集:以下にコントローラーコードを追加
$data = $this->Subscriber->getAllSubscribers();//This model method returns custom data from query
$this->paginate = array('fields' => $selectedField);
$paginatedData = $this->paginate($data);
//debug($paginatedData);
$this->set('subslist', $paginatedData);
上記のコードが機能していません、何が間違っているのですか、ありがとう