gpt4 book ai didi

mysql - 如何在cakephp中获取相关表的COUNT值

转载 作者:行者123 更新时间:2023-11-29 03:41:26 24 4
gpt4 key购买 nike

我正在使用 cakephp 开发词汇表创建/管理工具。现在我卡在了术语结果的分页上。

现在我正在使用这段代码将每个术语的翻译数量放在术语索引中:

public $findMethods = array('translations' =>  true);

protected function _findTranslations($state, $query, $results = array()) {
if ($state == 'after') {
foreach($results as $index => $result):
$countid = $result['Term']['id'];
$translationcount = $this->query('SELECT COUNT(*) as translations_number FROM translations WHERE term_id = '.$countid);
$translationcount = $translationcount[0][0]['translations_number'];
$results[$index]['Term']['translation_count'] = $translationcount;
endforeach;

return $results;
}

}

它正在运行,显示每个术语的翻译数量,但是 - 我无法按该列排序。可能是因为查询后数据更新,分页不知道如何排序。

但我不知道如何扩展我的查询以获取有关每个术语的翻译计数的信息。

这是我的 Term 模型中的内容(除了我之前粘贴的代码)

var $hasMany = array(
'Translation' => array(
'className' => 'Translation',
'foreignKey' => 'term_id',
'dependent' => true
)
);

这就是翻译模型中的内容:

var $belongsTo = 'Term';

在数据库中,在术语表中我有常规 ID 和术语(除了其他对此不重要的字段),在翻译表中我有常规 ID、相关术语 ID 和实际翻译。

我希望一切都清楚,我不是程序员,我所做的只是通过 try/fail 方法 - 但在这个问题上我被卡住了 :)

最佳答案

我假设您要查找的是 CakePHP's counterCache (向下滚动几行)。它会自动记录该模型有多少相关项目。

关于mysql - 如何在cakephp中获取相关表的COUNT值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13380632/

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