所以我正在使用以下内容:
$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()类的东西,除了最后一个条目外,它不会返回任何内容。但是,如果我说,它将返回所有内容(应该如此)。如果没有,它只返回最后一行。SELECTFROMWHERE 1;SELECT * FROM soapi WHERE 1;*
刚刚使用新查询进行了验证,除了选择所有列 ( *) 之外的任何内容都只返回最后一条记录。对此的任何帮助都会很棒。您可以制作一个类似的声明,select *, count(*) as ipcount但您仍然无法通过$record->ipcount.