gpt4 book ai didi

php - Codeigniter 动态分页和 where_not_in

转载 作者:行者123 更新时间:2023-11-29 08:02:15 25 4
gpt4 key购买 nike

因此,我的模型中有一个函数,可以提取分页表的作业,但前提是它们尚未被预订。

我的第一个函数计算有多少页等结果。

function record_count() {
$this->db->select('id');
$this->db->from('jobs');
$this->db->where('`id` NOT IN (SELECT `jobs_id` FROM `jobs_user`)', NULL, FALSE);
return $this->db->count_all("jobs");
}

我的第二个实际上带来了工作。

function getPagedJobs($limit, $start){
$this->db->limit($limit, $start);
$grabPagedJobs = $this->db->where('`id` NOT IN (SELECT `jobs_id` FROM `jobs_user`)', NULL, FALSE)->get("jobs");

if ($grabPagedJobs->num_rows() > 0) {
foreach ($grabPagedJobs->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}

问题是第二个函数可以很好地获取作业,并且不显示已预订的作业。但是第一个计算页数的函数似乎仍然计算所有结果,甚至是预订的结果。因此,我的分页结果中出现空页和 PHP 无效参数。

我尝试过很多方法,如果可能的话更喜欢主动记录,但我没有成功。

谢谢

最佳答案

你这里有一个错误的陈述,

return $this->db->count_all("jobs");

count_all("jobs") 将为您提供 jobs 表中的行数。


用这个替换它 -

return $this->db->count_all_results("jobs");

阅读文档 - http://ellislab.com/codeigniter/user-guide/database/active_record.html


或者 cicount 的替代方法,

$this->db->select('COUNT(*) as count');
$this->db->where('`id` NOT IN (SELECT `jobs_id` FROM `jobs_user`)', NULL, FALSE);
$query = $this->db->get('jobs');

$result = $this->db->result($query);
return $result->count;

关于php - Codeigniter 动态分页和 where_not_in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23501866/

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