Activerecord yii与条件只有一个关系

Activerecord yii与条件只有一个关系,activerecord,yii,yii2,relationship,Activerecord,Yii,Yii2,Relationship,我的代码中有一个hasone关系 public function getDevice(){ return $this->hasOne(UserDevice::className(),['user_id' => 'id'])->where(['is_latest'=>true]); } 在我的查询中,我试图获取用户详细信息 $query = User::find(); $query->joinWith('device')->all(); 如果

我的代码中有一个hasone关系

public function getDevice(){
    return $this->hasOne(UserDevice::className(),['user_id' => 'id'])->where(['is_latest'=>true]);
}
在我的查询中,我试图获取用户详细信息

  $query = User::find();
  $query->joinWith('device')->all();
如果我在没有where条件的情况下使用getDevice,那么我将获得所有用户。但如果我在getDevice中添加where条件,我将获得具有设备详细信息的用户。 是否仍然可以列出所有使用chceking的用户。
也就是说,我需要列出所有用户,他们在设备表中有或没有详细信息

我在我的关系中使用过这个,并且它可以工作

public function getDevice(){
    return $this->hasOne(UserDeviceInfo::className(),['user_id' => 'id'])->orOnCondition(['is_latest' =>1]);
}