yii 与条件有关系

yii hasone relation with condition

我的代码中有 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 条件,我将获得具有设备详细信息的用户。 无论如何要列出所有具有检查权限的用户。 那就是我需要列出所有用户,他们在设备 table 或没有

中有详细信息

我在我的关系中使用过这个并且它有效。

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