所以我正在使用以下内容:
$r = new Record();
$r->select('ip, count(*) as ipcount');
$r->group_by('ip');
$r->order_by('ipcount', 'desc');
$r->limit(5);
$r->get();
foreach($r->all as $record)
{
echo($record->ip." ");
echo($record->ipcount." <br />");
}
标准:
SELECT `ip`, count(*) as ipcount FROM (`soapi`) GROUP BY `ip` ORDER BY `ipcount` desc LIMIT 5;
而且我只得到了最后(第五个)记录的回声,没有 ipcount
回声。
有没有不同的方法来解决这个问题?我正在学习 DataMapper(因此有问题),需要弄清楚其中的一些。我还没有完全理解整个 ORM 的事情。
有没有办法设置count(*) as ipcount
没有有趣的select()
声明?我不认为它是出于某种原因触发的。这也可能是 DataMapper 中的一个错误,但我不太确定。
我还发现,即使我使用该方法,如果我使用类似ip soapi 之$r->query()
类的东西,除了最后一个条目外,它不会返回任何内容。但是,如果我说,它将返回所有内容(应该如此)。如果没有,它只返回最后一行。SELECT
FROM
WHERE 1;
SELECT * FROM soapi WHERE 1;
*
刚刚使用新查询进行了验证,除了选择所有列 ( *
) 之外的任何内容都只返回最后一条记录。对此的任何帮助都会很棒。您可以制作一个类似的声明,select *, count(*) as ipcount
但您仍然无法通过$record->ipcount
.