2016-07-07 27 views
0

我在成員控制器中編寫自定義函數。 該功能的目的是: -CakePHP querybuilder的計數行數

  1. 首先它檢查是否在members表中存在的ID。
  2. 如果它不存在,則返回0;
  3. 如果存在,則檢查isActive狀態是否爲0或1;
  4. 如果它是0,那麼它返回0,否則爲1;現在

,我寫的功能,因爲這些: -

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

'$這個 - > Member'是一個模型對象, 考慮一下。 – ndm

回答

0

這應該多個成員IDS工作(其中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']代表;