2011-01-19 35 views
1

私は 'products'という名前のテーブルと 'Product'という名前のテーブルがあるとしましょう。Cakephpの一時テーブルをページングする?

の製品 'テーブルには3つのフィールドIDを持つ、タイトル、価格、私は(レコードと検索の日ごとに異なり)cal_priceを計算し、4つの分野、すなわち、ID、タイトルの一時テーブルを作成したい

を作成し、 price、cal_price by order by cal_price

ここで、この一時テーブルにページを設定するだけです。

$ this-> paginate();を使用しています。

例えば、

table_products 

id title price created 
3  demo1 23  2011-12-12 
4  demo2 43  2011-12-13 
56  demo3 26  2011-12-16 

ソートcal_priceよる「TEMP_TABLE」オーダーと

temp_table 

id title price cal_price created 
3  demo1 23  12  2011-12-12 
4  demo2 43  43  2011-12-13 
56  demo3 26  88  2011-12-16 

ページ付け*私はそれを行うたら、私が使用することができますので、解決策への根本的な問題は、私は、実行時にモデルにTEMP_TABLE割り当てるにはどうすればよいです$ this-> paginate( 'temp_model')で問題を解決してください。

答えて

0

conventionsテーブルの名前を尊重した場合は一時テーブルのモデルが必要ないので、「temp_table」は機能しません。複数でなければなりません。

テンポラリテーブルが "temp_prices"(私はテーブルにプレフィックスを使用していません) と呼ばれ、モデルの名前は "TempPrice"であるとします。テーブルには、あなたのコントローラ

$this->loadModel('TempPrice'); //will load the model on the controller 
$this->paginate['TempPrice'] = array(); //you can change the pagination options here 
$resp = $this->paginate('TempPrices'); 

グッドラック

+0

にこれを使用するページ付けます。このような状況では、この作品? http://stackoverflow.com/questions/5675225/create-temporary-table-in-cakephp-and-load-it-as-a-model私は "テーブルが見つかりません"というエラーが表示されますか? – bpneal

+0

これでクラスをロードしました。ページネーションはうまくいくはずです – pleasedontbelong

関連する問題