Activerecord 如何通过具有多个关系的特定值从相关模型中获取一条记录

Activerecord 如何通过具有多个关系的特定值从相关模型中获取一条记录,activerecord,yii2,yii2-model,Activerecord,Yii2,Yii2 Model,我使用Yii2。有两个模型通过 有许多 方法,例如用户和用户属性: public function getUsersArticles() { return $this->hasMany(UsersArticles::className(), ['user_id' => 'id']); } 有没有办法通过id只获取一条相关记录?诸如此类: $User->usersArticles[$id]->someMethodFromUsersArticles(); $art

我使用Yii2。有两个模型通过

有许多

方法,例如用户和用户属性:

public function getUsersArticles()
{
    return $this->hasMany(UsersArticles::className(), ['user_id' => 'id']);
}
有没有办法通过id只获取一条相关记录?诸如此类:

$User->usersArticles[$id]->someMethodFromUsersArticles();
$articles = $user->getUserArticles()->id($id)->one();

您可以扩展
ActiveQuery
并编写如下内容:

$User->usersArticles[$id]->someMethodFromUsersArticles();
$articles = $user->getUserArticles()->id($id)->one();
或者只是

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