#5798: [PATCH] _deleteLinks() ignores HABTM conditions
----------------------------------------------+-----------------------------
    Reporter:  ksch                           |          Type:  Bug   
      Status:  new                            |      Priority:  Medium
   Milestone:  1.2.x.x                        |     Component:  Model 
     Version:  RC3                            |      Severity:  Major 
    Keywords:  model habtm delete conditions  |   Php_version:  PHP 5 
Cake_version:  1.2.0.7692 RC3                 |  
----------------------------------------------+-----------------------------
 If you define a HABTM with 'conditions', the _deleteLinks() method ignores
 them in finding deletable records.

 That can lead to SEVERE DATA LOSS, as all records are deleted instead!

 This patch merges the Model's defined HABTM conditions into the
 _deleteLinks() query.

 {{{
 Index: libs/model/model.php
 ===================================================================
 --- libs/model/model.php        (revision 7884)
 +++ libs/model/model.php        (working copy)
 @@ -1698,8 +1698,10 @@
                 $db =&
 ConnectionManager::getDataSource($this->useDbConfig);

                 foreach ($this->hasAndBelongsToMany as $assoc => $data) {
 +                       $conditions = array_merge((array)
 $data['conditions'], array($data['foreignKey'] => $id));
 +
                         $records = $this->{$data['with']}->find('all',
 array(
 -                               'conditions' => array($data['foreignKey']
 => $id),
 +                               'conditions' => $conditions,
                                 'fields' =>
 $this->{$data['with']}->primaryKey,
                                 'recursive' => -1
                         ));

-- 
Ticket URL: <https://trac.cakephp.org/ticket/5798>
CakePHP : The Rapid Development Framework for PHP <https://trac.cakephp.org/>
Cake is a rapid development framework for PHP which uses commonly known design 
patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC. 
Our primary goal is to provide a structured framework that enables PHP users at 
all levels to rapidly develop robust web applications, without any loss to 
flexibility.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"tickets cakephp" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/tickets-cakephp?hl=en
-~----------~----~----~----~------~----~------~--~---

  • [CakePHP : The Rapid Dev... CakePHP : The Rapid Development Framework for PHP

Reply via email to