当前位置: 首页 > 面试题库 >

如何使用findAll()在yii中编写查询

江天宇
2023-03-14
问题内容

我有以下sql查询,如何使用yii编写查询findAll()

我没有使用CDbCriteria,暂时正在避免使用它。

使用三个表,用户,类别和job_profile。

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%'

我已经编写了以下查询,但是我不知道如何包括join:

 $results = SearchEmployee::model()->findAll("category_id=:category AND key_skills like 
:skill AND experience=:experience", array(
            'category'=>$category,
            'skill'=>'%'.$skills.'%',
            'experience'=>$experience
            ));

问题答案:

$model = JobProfile::model()->with(‘userrelationname’,’categoryrelationname’)->findAll(array(“condition”=>”t.category_id =1 and t.experience =2 and t.key_skills LIKE ‘%php%’“));

您可以在JobProfile模型中找到关系名称

关系示例

JobProfile模型文件中将包含源代码,例如

 public function relations(){
    return array(
      'user' => array (self::BELONGS_TO, 'User', 'id' ),
    )
 }

这是“用户”是关系名称…

然后在您的控制器示例中;

foreach($model as $m){
    echo $m['user_id']; // in your job_profile table
    echo $m->user->id;  // in your user table
}


 类似资料:
  • 问题内容: 我正在尝试从具有命名空间的Word文档中查找所有内容,但我不知道语法到底是什么。 这些文档仅涵盖了非常简单的情况,并加入了URN和VML组合,我似乎无法从网上看到我能看到的任何示例。有人碰巧知道这是什么吗? 我正在尝试做这样的事情: 编辑:@aneroid写的是1000%正确的答案,超级有帮助。您应该对此投票。就是说,在理解了所有内容之后- 我接受了BS4的答案,因为它完全按照我的要求

  • 问题内容: 我想使mysql查询以从表中的列中获取最高的5个值,所以查询是: 如何运行此查询并将其值保存在变量中? 如果可能,我更喜欢将findAll()方法与这些选项一起使用。 问题答案: 有几种方法可以实现此目的,但是如果您更喜欢查询生成器方法

  • 问题内容: 我有一个用于Elasticsearch的简单JSON查询,如下所示: 仅当值(在这种情况下为“ a1”)不为空时,才如何执行第二个“必须”条件? 问题答案: 您可以使用以下方法实现它-

  • 问题内容: 谁能帮助我获取下面提到的JPA查询的JPA标准查询。 问题答案: 假设Person与语言有关,这就是您在较早的Hibernate中所做的事情: 我第一次尝试使用JPA 2.0: 请让我知道这是否适合您。 编辑: 更新查询以仅使用一个呼叫。

  • 问题内容: 我现在将Pure SQL转换为jOOQ 我必须在jOOQ中编写此代码,我们该如何编写? 问题答案: 实现您所请求内容的最直接的方法是使用: 另外,您可以显式表达该功能: 还有另一种方法来获取任意表达式,这可以帮助您避免在上述方法中指定结果列索引和类型。它使用: 但是请注意,这会呈现如下嵌套选择:

  • 我在mySql中有一个查询,我想在我的控制器中编写。 原因:java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:应为CLOSE,在org.hibernate.internal.exceptionConverterImpl.convert(exceptionConverterIm