两个变量在函数内部()内设置为null

问题描述:

In my model I have this

function pieChart($conditions = null) {
    //Get Data for PieChart
    $this->RecordDrug->virtualFields['sum'] ='COUNT(*)';
    $records = array();
    $records=$this->RecordDrug->find('list',
        array(
            'conditions' => $conditions,
            'fields' => array( 'Drug.drug', 'sum'),
            'order' => array('sum' => 'desc'),
            'contain' => array( 'Drug', 'Record' ),
            'group'  => 'Drug.Drug'
            ));
    return $records;
}

Which basically means that when this function is called by it's self, there are no conditions set. So inside my controller, I am able to define a condition, if i'd like. I want to do the exact same thing except with

'limit' => $limit,

and I assume I need to set

$limit = null

Inside the parenthesis of the function. I've tried & and , and $limit,$conditions = null but neither of these options worked. I am not too experience with OOP but I assume there is a way to do this?

EDIT:

Updated code, Still not working. The first varialbe that comes inside the functions parenthesis is the one that works, the second one just act's like it's not there

Model:

function pieChart($limit = null, $conditions = null) {
    //Get Data for PieChart
    $this->RecordDrug->virtualFields['sum'] ='COUNT(*)';
    $records = array();
    $records=$this->RecordDrug->find('list',
        array(
            'conditions' => $conditions,
            'fields' => array( 'Drug.drug', 'sum','Record.unit'),
            'order' => array('sum' => 'desc'),
            'limit' => $limit,
            'contain' => array( 'Drug', 'Record' ),
            'group'  => 'Drug.Drug'
            ));
    debug($records);
    return $records;
}

Controller:

$conditions = array('Record.user_id' => $this->Session->read('Auth.User.id'));
$pieChart = $this->Record->pieChart($conditions);
$this->set('output',$pieChart); 

Even after this conditions variable, it does not only load the users data. If I were to remove '$limit = null' it will work as intended.

This way:

function pieChartTwo($limit = null, $conditions = null) {
  ...
}