我正在成员控制器中编写自定义函数。 该功能的目的是: -
members
表中是否存在id。 现在,我正在编写这些函数: -
public function memberExist($id)
{
$query = "SELECT Member.id FROM members AS Member WHERE Member.id = $id AND Member.isActive = 1";
// Here I want to write something like:
// if($this->query($query)->num_rows()>0) return 1; else return 0;
}
然而,问题是,我现在不知道如何从查询构建器获取行数(对不起,如果名称不准确,我是cakephp的新手)。
$this->query($query)
返回数组。
在控制器中,我们可以使用以下方法获取行数
$userdata = $this->Member->find('count',array('conditions'=>array('Member.id'=>$id, 'Member.isActive'=>1)));
但如何在模型中应用计数程序?
答案 0 :(得分:0)
这适用于多个成员ID(其中1,2,3 ...是您的成员ID):
$query = "SELECT COUNT(Member.id) as count FROM members AS Member WHERE Member.id in (1, 2, 3, 4) AND Member.isActive = 1;";
表示单个成员ID:
$query = "SELECT COUNT(Member.id) as count FROM members AS Member WHERE Member.id = ".$id." AND Member.isActive = 1;";
行数将由$your_result_var['count']
;
答案 1 :(得分:0)
如果$ this->查询($ query)返回数组, 你可以算一下:
$records = $this->query($query);
$n = count($records); //count of rows