Skip to main content

CakePHP: Calling function from other controller


Import Controller of the function you want to use.

Once you imported  the controller you can call any function of this controller.

<?php
  //Import controller
  App::import('Controller', 'SmsOutgoings');

  class ReportsController extends AppController {
    
    public function add() {

         $message = "Notification: New report submitted!";

 

       //Instantiation
        $SmsOutgoings= new SmsOutgoingsController;
      //Call a method from SmsOutgoingsControllerwith parameter
      $SmsOutgoings->notify_user($user_id, $message); 
    }
  }
?>
 
 Other way is by using the requestAction() function

<?php
class ReportsController extends AppController {
    
    public function add() {

         $message = "Notification: New report submitted!";

 
      //Call a method from SmsOutgoingsController with parameter
      $this->requestAction('/sms_outgoings/notify_user', array($user_id, $message)); 
    }
  }
?>
  
 
Post a Comment

Popular posts from this blog

CakeAdminLTE is based on AdminLTE Theme for CakePHP 2.4+

CakeAdminLTE v.1.0 CakeAdminLTE is based on Twitter Bootstrap 3.0+ and AdminLTE Theme for CakePHP 2.4+


AdminLTE Dashboard and Control Panel Template  Responsive admin template Free & open source Built with Bootstrap 3 Easy to customize Quick StartDownload the .zip fileExtract the files into your CakePHP folderTo enable your theme add the following to your "app/Controller/AppController.php" class:public$theme="CakeAdminLTE"; IMPORTANT: If you would like to bake your app, please make sure you have enabled the theme before baking. DOWNLOAD: CakeAdminLTE

CakePHP: COUNT data and GROUP BY date

Goal: Count Tip Offs created per day for a month to use for graph
Problem: created field name is in datetime format: Y-m-d H:i:s
Solution: format SQL Query date: DATE_FORMAT(TipOff.created, '%Y-%m-%d')





Inside the function of controller
<?php$tipOffsMonthly=$this->TipOff->find('all', array('conditions'=>array('AND'=>array('TipOff.electric_cooperatives_id'=>AuthComponent::User('electric_cooperatives_id'), 'TipOff.created BETWEEN ? AND ?'=>array($first_day, $last_day))), 'fields'=>array("COUNT('created') as per_day", 'created'), 'group'=>array("DATE_FORMAT(TipOff.created, '%Y-%m-%d')") ));?>