What are you trying to achieve? Jeremy Burns Class Outfit
http://www.classoutfit.com On 5 Dec 2011, at 11:4941, Dwayne Hanekamp wrote: > I'm currently building an app on which i need automatic notification > generation on certain models. Thats why i've created a behavior which > adds a record to the notificationdatabase after every save or update > (code given below). I'm wondering if i'm on the right track and if any > of you have some comments on the way i did things. > > > <?php > // file: app/model/behavior/notificationbehavior.php > class NotificationBehavior extends ModelBehavior { > > var $default = array( > 'afterSave' => true, > 'afterUpdate' => true, > 'modelName' => '', > 'id' => 'id', > 'user_id' => 'user_id' > ); > > public function setup(&$Model, $settings){ > $this->default['modelName'] = strtolower($Model->name); > $this->settings = array_merge($this->default, $settings); > } > > public function afterSave(&$Model, $created = null){ > if($created && $this->settings['afterSave']){ > $data = $Model->data[$Model->name]; > $this->data['Notification']['user_id'] = $data[$this- >> settings['user_id']]; > > $this->data['Notification'][$this->settings['modelName'] . '_id'] = > $data[$this->settings['id']]; > } else if(!$created && $this->settings['afterUpdate']){ > $data = $Model->data[$Model->name]; > $this->data['Notification']['user_id'] = $data[$this- >> settings['user_id']]; > > $this->data['Notification'][$this->settings['modelName'] . '_id'] = > $data[$this->settings['id']]; > $this->data['Notification']['update'] = 1; > } > > if(!empty($this->data['Notification']['user_id'])){ > App::import('Model','Notification'); > $notification = new Notification; > $notification->create(); > $notification->save($this->data); > > } > } > > } > ?> > > Thanks in advance, > > Dwayne > > -- > Our newest site for the community: CakePHP Video Tutorials > http://tv.cakephp.org > Check out the new CakePHP Questions site http://ask.cakephp.org and help > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > [email protected] For more options, visit this group at > http://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
