0

code downstairs will perfom query like this

SELECT anrede FROM `l_anrede` INNER JOIN `person` ON `l_anrede`.id = `person`.id_anrede

But I need a query like this:

  SELECT anrede FROM `l_anrede` INNER JOIN `person` ON `l_anrede`.id=`person`.id_anrede  WHERE

person.id IN(SELECT id_person FROM bewerber WHERE person.id=bewerber.id);

Any ideas how to round out this code:

$query = LAnrede::find();
/*
$subQuery = Bewerber::find()->select(['id_person'])
                ->from('bewerber')->where('person.id= bewerber.id');*/

$query->select('anrede')->from('l_anrede')->innerJoin('Person', 'l_anrede.id = person.id_anrede');
var_dump($query->one());
tklustig
  • 483
  • 6
  • 24

1 Answers1

1

You don't have to use ->from('l_anrede') if youre calling LAnrede::find() - query will select data from table associated with your model. To use subquery in where() method, try like this:

$query->andWhere(['person.id' => $subQuery]);
Yupik
  • 4,932
  • 1
  • 12
  • 26