下午好。
我有一个叫“客户”的模型,还有一个叫“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/

10-11 11:34