2016-04-22 9 views
1

Ich benutze Yii2. Es gibt zwei Modelle, die vonWie kann ich einen Datensatz von verwandten Modell durch spezifischen Wert mit HAS_MANY Beziehung

hasMany

Verfahren, zum Beispiel Benutzer und UsersArticles verwandt sind:

public function getUsersArticles() 
{ 
    return $this->hasMany(UsersArticles::className(), ['user_id' => 'id']); 
} 

Gibt es eine Möglichkeit zu bekommen nur einen verknüpften Datensatz von id? So etwas Ähnliches:

$User->usersArticles[$id]->someMethodFromUsersArticles(); 

Antwort

1

Sie können ActiveQuery erweitern und schreiben Sie etwas wie folgt aus:

$articles = $user->getUserArticles()->id($id)->one(); 

oder nur

$articles = $user->getUserArticles()->where(['id' => $id])->one();