2012-05-09 6 views
0

私のページングのための簡単な条件はできません。私は調査とキャンペーンモデルを持っています。キャンペーンには、キャンペーンモデルに多数のアンケート設定があります。cakePHP hasManyがSQLクエリに参加していません

私はアンケートを選択したいと思いますが、ページがリンクされていることを表示する必要がありますが、未知の列が表示されています。Survey.id - 調査の結果、調査はキャンペーンモデルに参加していません句。私はまたhasManyがクエリにテーブルを結合しないことを知った。

これ以外にどのようにすればいいですか?

+1

キャンペーンに多数のアンケートがある場合、アンケートには1つのキャンペーンがありますか?したがって、特定のアンケートを選択すると、そのキャンペーンは1つのキャンペーンにのみリンクされますか? ここにページネーションが必要なのはなぜですか?おそらく私が理解していないものがあります。つまり、 'Model2.id'の代わりに' Model1.model2_id'をフィルタリングすると助けになる場合があります。 – nIcO

+0

私が持っているものはキャンペーンのあるページです(このページのページ番号です)。ユーザーがアンケートを選択できるドロップダウンが必要な場合、その結果はその1つにリンクされている1つのキャンペーンを返します)。したがって、ページングページは1つの結果しか持たないでしょう。これは、キャンペーンにアクセスするための簡単な方法です(アンケートの内容はわかっていて、リンクされているキャンペーンではわかりません) – mauzilla

+0

これは最も洗練されたソリューションではありませんが、手動で 'joins'キーで関係を追加することができます。しかし、私は最近、(これは私が作ったことを意味する)これをはるかにシンプルにする(コードが少ない)ことを発見した[リンク](http://cfc.kizzx2.com/index.php/restoring-elegance-to-cakephp-doing -multiple-joins-the-right-way /) – tigrang

答えて

0

私はこれに対する答えを見つけることができませんでした。 hasManyは自動的にクエリに追加されないようです。私は、ケーキの収納可能な機能を使用すると助けになることを勧告しました。