0
私はHostStatisticモデルでこのコードを持っている:いくつかのレコードのゲッターがnullを返す場合、Yii2 MongoDB ActiveRecordの関係フィールドでレコードをソートする方法は?
public function getRhost()
{
return $this->hasOne(Rhost::className(), ['host' => 'host']);
}
public static function getPage($sort = null, $offset = null, $limit = null)
{
if (!$sort) {
$sort = ['rhost.last_time' => SORT_DESC];
}
$offset = (int)$offset;
$limit = (int)$limit;
if (!$limit) {
$limit = self::DEFAULT_LIMIT;
}
return self::find()
->with('rhost')
->orderBy($sort)
->offset($offset)
->limit($limit)
->all();
}
すべてHostStatisticレコードがRhostのレコードを持っている場合、それが正常に動作しますが、一つまたは複数のHostStatisticレコードがRhostを持っていない場合は、レコードのソートが動作しません。例外はありませんが、データはソートされませんでした。 コードをmongo aggregationで書き直して、私が望むように動作します。しかし、私はYii2 ActiveRecordでこれをどのようにすることができますか?