以下はSQLクエリです。ここでは 3 つのテーブルが使用されます。EMPLOYER
、COMPANYPROFILE
、JOBSEEKERFOLLOWER
$c=new Criteria();
$c->add(EmployerPeer::ITEMPLOYERSTATUS, 1);
$c->addJoin(EmployerPeer::IDEMPLOYER, CompanyprofilePeer::IDEMPLOYER);
EmployerPeer::addSelectColumns($c);
$c->addJoin(EmployerPeer::IDEMPLOYER, JobseekerfollowingPeer::IDEMPLOYER);
JobseekerfollowingPeer::addSelectColumns($c);
$c->addAsColumn('count', 'COUNT(EMPLOYER.IDEMPLOYER)');
$c->addGroupByColumn(CompanyprofilePeer::VCCOMPANYNAME);
//echo $c->toString(); exit;
$pager = new sfPropelPager('Employer', E4sConfig::getRecordsPerPage());
$pager->setCriteria($c);
$pager->setPage($this->getRequestParameter('page', 1));
$pager->init();
$this->pager=$pager;
出口を削除して SQL クエリを出力し、それを実行すると、完全に取得されます。
ここで、ページネーションのためにページャーに渡す必要があります。しかし、これの問題はEmployer
、新しいオブジェクトの作成中にクラスが使用された場合sfPropelPager
、そのクラスの要素のみが生成されることです。他の 2 つのテーブル/クラス (会社のプロフィールと求職者フォロワー) の詳細はわかりません。どちらのテーブルで使用しても同じことが起こります。
私がまさに望んでいるのは、クエリを実行することだけです。これはどのように達成できますか?sfPropel オブジェクトで結合とカスタム クエリが使用されているいくつかの良い例を教えてください。
ありがとう