gpt4 book ai didi

mysql - Yii2 中的 findBySql 未返回预期结果集

转载 作者:行者123 更新时间:2023-11-29 20:13:23 25 4
gpt4 key购买 nike

我正在使用 Yii2,对于我的数据表,我需要将数据分类并限制每个类别的数据,为了获得结果,我使用了 findBySql() 但它总是从该模型返回完整的结果集。

它工作完美,但我想将它与模型一起使用,这样我就可以拥有实例

我只想通过以下查询给我 yii\db\ActiveQuery 实例以及给定的 SQL 语句。

我还需要实例,因此只需将结果作为不需要的简单数组即可。

我希望结果每个类别 ID 或 ID 最多包含 10 行。

这里是sql

$sql = 'SELECT *
FROM (
SELECT t.* , @currcount := IF( @currvalue = t.id, @currcount +1, 1 ) AS rank, @currvalue := t.id AS whatever
FROM test t
ORDER BY t.id ASC
) AS whatever';

$modelTest = Test::findBySql($sql)->all();

最佳答案

请使用数据库访问对象示例:

$sql = 'SELECT *
FROM (
SELECT t.* , @currcount := IF( @currvalue = t.id, @currcount +1, 1 ) AS rank, @currvalue := t.id AS whatever
FROM test t
ORDER BY t.id ASC
) AS whatever';

$data= Yii::$app->db->createCommand($sql)
->queryAll();

关于mysql - Yii2 中的 findBySql 未返回预期结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39943485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com