Ich habe user
und post
Tabelle mit oneToMany
Beziehung:Yii2, findet Benutzer, die aktiven Beitrag hat
In Pfosten Modell:
public function getUser() {
return $this->hasOne(User::className(), ['id' => 'user_id']);
}
Und in User-Modell:
public function getPosts() {
return $this->hasMany(Post::className(), ['user_id' => 'id']);
}
Ich mag Finde alle Benutzer, die mindestens einen aktiven Beitrag haben. Aber ich habe keine Ahnung.
Mein Ziel SQL:
SELECT * FROM `user`
where id in (select user_id from post where status = 1)
Was kann ich tun?
User::find()->where(...
Hinweis: es ist wichtig, dass mit find() erstellt wurde, weil ich es auf der Suche Modell
Dank verwenden möchten.
Die ActiveQuery :: alias Methode statt verwendet werden kann, die 'aus ([ 't1' => User :: getTableSchema () -> name]) '== >>' Benutzer :: find() -> alias ('t') ' – ingenious
@ingenious Vielen Dank für Ihre Ergänzung :). – HeadwindFly