下午好。
我有一个叫“客户”的模型,还有一个叫“Acct”。对于许多“Acct”,比率为1“Cliente”。当我使用hasúone关系时,它会获取所有数百万的“Acct”来选择这些结果中的一个。
“客户”关系模型的声明:
'accts' => [
self::HAS_MANY,
'Acct',
'cliente_id',
],
'lastAcct' => [
self::HAS_ONE,
'Acct',
'cliente_id',
'order' => 'acct.id DESC',
],
最佳答案
在Yii(Yii1和Yii2)中,创建“Has One”关系不会自动将LIMIT 1
应用于查询。你可以在这里阅读更多关于它背后的推理:https://github.com/yiisoft/yii/pull/2113
您应该手动添加limit子句,如下所示:
'lastAcct' => [
self::HAS_ONE,
'Acct',
'cliente_id',
'order' => 'acct.id DESC',
'limit' => '1'
],
关于mysql - Yii Framework和具有数百万行的HAS_ONE关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26692664/