2017-10-20 113 views
0

使用查询数据,另一个SQL查询我这里有一个查询:如何yii2

public function SearchExactJob($id) { 
     $connect = \Yii::$app->db; 

     $query = $connect->createCommand(' 
      SELECT job_name FROM job_questions WHERE job_id=:id') 
      ->bindValue(':id':$id) 
      ->queryAll(); 

} 

我想用job_name另一个查询:PS:我万一写下来在一张纸上我将能够找出如何得到这个数据

$anotherquery = $connect->createCommand(
        'SELECT * FROM company_questions 
        WHERE company_question = [the job_name I want to get from the `$query`]) 

另外,如果我将顺利拿到$anotherquery工作,我想要得到的数据并把它分配给该视图。

但后来,即时求助,因为我刚刚使用Yii2。请帮帮我。

回答

0

我已经解决了这个问题。

 $query=$connect->createCommand(' 
     SELECT job_name FROM job_questions WHERE job_id=:id') 
     ->bindValue(':id':$id) 
     ->queryOne(\PDO::FETCH_OBJ); 

将数据添加到变量中:例如, $job_name

$job_name = $query->job_name;

0

找到工作名称

public function SearchExactJob($id) { 
    $connect = \Yii::$app->db; 

    $query = $connect->createCommand(' 
     SELECT job_name FROM job_questions WHERE job_id=:id') 
     ->bindValue(':id':$id) 
     ->asArray() 
     ->queryAll(); 
} 

上面的代码将返回两个数组时二维。转换二维数组的一维数组

$jobs = array_map('current',$query); 

最后,你可以使用其中条款找工作。

$anotherquery = $connect->createCommand(
       'SELECT * FROM company_questions 
       WHERE IN $jobs) 

我强烈建议您在查询数据时使用活动记录,减少语法错误并更容易读取。

+0

嗨,谢谢。你的答案是赞赏,但我已经得到了解决。我已经用答案更新了我的问题。 :) – jaegyo23