Yii2 innerJoin()

前端 未结 4 743
天命终不由人
天命终不由人 2021-01-12 16:06

I want to implement a sql query in the following way:

INNER JOIN
`Product_has_ProductFeature` t ON `Product`.`id` = t.`productId` AND t.`productFeatureValueI         


        
相关标签:
4条回答
  • 2021-01-12 16:26

    innerJoin() is a method from the Query class.

    You can try something like this.

    $query = new \yii\db\Query;
    $command = $query->innerJoin(
             'Product_has_ProductFeature',
             `Product`.`id` = t.`productId`)
         ->andWhere('t.`productFeatureValueId` = 1')
         ->createCommand();
    $queryResult = $command->query();
    
    0 讨论(0)
  • 2021-01-12 16:31

    You can use the below code:

    $model = Product::find()
    ->innerJoinWith('t', 'Product.id = T.productId')
    ->andWhere(['T.productFeatureValueId' => ''])
    ->innerJoinWith('t1', 'Product.id = T1.productId')
    ->andWhere(['T1.productFeatureValueId' => '5'])
    ->all();
    
    0 讨论(0)
  • 2021-01-12 16:32

    Tables vote_results, vote_answers, vote_questions
    Relations
    1. vote_results > vote_answers (answer_id)
    2. vote_answers > vote_questions (question_id)

     $matches = Results::find()
                    ->select(['vote_results.id', 'COUNT(vote_results.answer_id) as MatchCount'])
                    ->innerJoin('vote_answers', 'vote_results.answer_id = vote_answers.id')
                    ->innerJoin('vote_questions', 'vote_answers.question_id = vote_questions.id')
                    ->andWhere(['in', 'vote_results.answer_id', 31])
                    ->having('COUNT(vote_results.id)>=1')
                    ->orderBy('MatchCount DESC')
                    ->asArray()
                    ->one();
                var_dump($matches['MatchCount']);
    
    0 讨论(0)
  • 2021-01-12 16:35
    $query = new \yii\db\Query();
    $query->from(['u' => 'usr_user'])
        ->select(['u.id','p.first_name','p.last_name'])
        ->innerJoin(['i' => 'pdl_inspector'],'`u`.`id` = `inspector_id`')
        ->innerJoin(['p'=>'usr_profile'],'`p`.`user_id` = `u`.`id`')
        ->all();
    
    0 讨论(0)
提交回复
热议问题