此问题在此处已有答案:
How to write the query in yii,using findAll()(3个答案)
八年前就关门了。
我有下面的查询...并希望在现有的查询中添加一些联合额外的联合语句...发布平面SQL查询,以便它给予你的想法,我实际上在寻找什么。
/* simple sql query */
SELECT *
FROM job_profile
INNER JOIN user ON user.id = job_profile.user_id
INNER JOIN category ON category.id = job_profile.category_id
WHERE category_id =1
AND experience =2
AND key_skills LIKE '%php%'
LIMIT 0 , 30
/* simple sql query */
我已经试过了下面的方法,到现在为止都还不错,但是我不知道怎么加联合声明。
$results = SearchEmployee::model()->findAll("category_id=:category AND key_skills like :skill AND experience=:experience", array(
'category'=>$category,
'skill'=>'%'.$skills.'%',
'experience'=>$experience
));
我只想保留上面的语句,只需要在语句中添加上面提到的联合查询,并且我不想使用adbCriteria作为时间起点。
2条答案
按热度按时间vhipe2zx1#
问得好。您可以通过以下方式使用With()
更多的例子:
nbnkbykc2#
我想你可以用relations来做这个
job_profile
表(我不知道您在哪个模型中使用它)需要与user
和category
有2个关系然后,它会自动为您创建连接,您只需要在模型本身上进行搜索。
否则,如果你想做一个复杂的Select语句,尽管这不太像MVC,你可以使用query builder
或者简单地这样尝试:
$result = Yii::app()->db->createCommand('YOUR SELECT STATEMENT')->queryAll();