我尝试生成此查询。
select * from jobs j inner join vacancies v on j.id = v.job_id where v.id = 2943 order by j.created_at desc limit 1
v.id
只是为了测试查询是否正常工作。
我有一些来自空缺表的条件需要用工作表生成它。
我尝试了更多的案例来生成它。
这是来自空缺模型的关系
'job' => array(self::BELONGS_TO, 'Jobs', 'job_id'),
这是来自乔布斯模型的关系
'vacancies' => array(self::HAS_MANY, 'Vacancies', 'job_id'),
这是我的查询。
$newJobs = Jobs::model()->findAll(
array('with'=>array(
'vacancies'=>array(
'condition'=>'vacancies.id = 2943',
'order'=>'t.created_at desc',
)
),
'order'=>'t.created_at desc'
,'limit'=>1
)
);
但这给了我最新的工作,没有任何空缺条件作为 id。
并尝试在 Jobs 模型中使用一些范围。
$newJobs = Jobs::model()->isOffline()->isApproved()->recent()->findAll(array(
'with'=>array(
'vacancies'=>array(
'condition'=>'vacancies.id=2268'
)
)
)
);
范围
public function recent($limit=1)
{
$this->getDbCriteria()->mergeWith(array(
'order'=>'t.created_at DESC',
'limit'=>$limit,
));
return $this;
}
public function isOffline($offline = 'False')
{
$this->getDbCriteria()->mergeWith(array(
'condition'=>"t.offline = '$offline' OR t.offline is null",
));
return $this;
}
public function isApproved($approved = 'False')
{
$this->getDbCriteria()->mergeWith(array(
'condition'=>"t.approved= '$approved'",
));
return $this;
}
不工作仍然给我最新的工作,没有空缺的条件。
谁能帮我。