在Symfony Propel数据库ORM中加入3个表


Joining 3 tables in Symfony Propel Database ORM

我正在构建一个工作门户。我使用的是symfony 1.1框架,它使用Propel数据库引擎。我有三个表,如userjobjob_applied。user表有uid, job表有jid, job_applied有uidjid。我需要根据job_applied table的uidjid获取job table的职称、描述、职位

$c = new Criteria();
$c->addJoin(JobAppliedPeer::JID, JobPeer::JID);
$c->addJoin(JobAppliedPeer::UID, UserPeer::UID);
$c->add (whatever other criteria you need);
$apps = JobAppliedPeer::doSelect($c);
for ($apps as $app) {
 $jt = $app->getJob()->getJobTitle();
}

等。

您可能需要调整这一点,因为您的列名:我总是使用像'job_id'这样的列名外键,然后Propel自动生成访问方法'getJob'和'getJobId'。