W CakePHP 3, miałem model o nazwie Artykuły i pole o nazwie "temat", i natknąłem się na blokadę drogi, próbując znaleźć listę 100 najczęściej używanych tematów.Jak korzystać z COUNT (*) z find ("list") w CakePHP 3?
następujący kod wynikająca SQL wybrany wszystkie możliwych polach i nieCOUNT(*)
:
$articles->find('list', [
'keyField' => 'subject',
'valueField' => 'COUNT(*)'
])
->group('subject')
->order(['COUNT(*)' => 'DESC'])
->limit(100)
->toArray();
Wtedy przypomniałem "CakePHP’s ORM offers abstraction for some commonly used SQL functions.". Ale następujący kod spowodowało „Błąd: Nazwa funkcji musi być ciąg”:
$countFunc = $this->find()->func()->count('*');
$articles->find('list', [
'keyField' => 'subject',
'valueField' => $countFunc
])
->group('subject')
->order([$countFunc => 'DESC'])
->limit(100)
->toArray();
$ to-> Zendesks-> find ('list', ['keyField' => 'company_id', 'valueField' => 'comment_id']) -> where (['created_at> =' => $ month3Start, 'created_at <=' => $ month1End]) -> select (['company_id', 'comment_id' => $ this-> Zendesks-> find() -> func() -> count ('*')]) -> group ('company_id "); Po prostu skopiuj tutaj moją pracę, która może pomóc innym w uzyskaniu dalszych informacji i dzięki za twój kod! –