Yii2-具有ActiveRecord的表别名

Yii2-具有ActiveRecord的表别名,yii,yii2,Yii,Yii2,我有一个长名称的表,例如products\u和别名(“您的别名”) ProductsWithALongName::find() ->alias('p') ->select(['p.id', 'p.selling_price','client.name']) ->leftjoin('all_the_clients as client', 'p.clientId = client.id') ->where(['p.id' => $var]

我有一个长名称的表,例如
products\u和
。型号名称为
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\u with\u a\u long\u name
,就像我为第二个表使用别名一样。我知道我可以使用
Query
,但在这种情况下,我需要结果为
ActiveRecord
,因此在这种情况下这不是一个选项。

您可以使用:

查找后尝试使用->别名(“您的别名”)
ProductsWithALongName::find()
    ->alias('p')
    ->select(['p.id', 'p.selling_price','client.name'])
    ->leftjoin('all_the_clients as client', 'p.clientId = client.id')
    ->where(['p.id' => $var]);