Yii2 - 使用ActiveRecord的表别名

时间:2018-03-25 10:08:39

标签: yii yii2

我有一个长名称的表,例如products_with_a_long_name。型号名称为ProductsWithALongName。 现在,我有一个查询,我需要在与另一个表连接时从该表中选择许多列。示例:

ProductsWithALongName::find()
    ->select(['products_with_a_long_name.id', 'products_with_a_long_name.selling_price','client.name'])
    ->leftjoin('all_the_clients as client','products_with_a_long_name.clientId = client.id')
    ->where(['products_with_a_long_name.id' => $var]);

现在我如何为第一个表products_with_a_long_name使用别名,因为我正在为第二个表使用别名。我知道我可以使用Query,但在这种情况下,我需要结果为ActiveRecord,所以在这种情况下这不是一个选项。

1 个答案:

答案 0 :(得分:9)

您可以使用alias()

NewsAPI.fetchNews(page: loadedPage.value + 1)
    .observeOn(MainScheduler.asyncInstance)
    .subscribe(onNext: { [weak self] news in
        guard let strongSelf = self else { return }
        strongSelf.news.value += news
        strongSelf.loadedPage.value += 1
    })
    .disposed(by: disposeBag)