Skip to content
This repository has been archived by the owner on May 16, 2018. It is now read-only.

Zend_Db_Table_Abstract::delete does not delete from dependent table #15

Closed
zfbot opened this issue Apr 5, 2013 · 4 comments
Closed
Assignees
Milestone

Comments

@zfbot
Copy link

zfbot commented Apr 5, 2013

Jira Information

Original Issue:ZF-12412
Issue Type:Bug
Reporter:Tomasz Zimnicki
Created:09/09/12
Assignee:Ralph Schindler
Components:Zend_Db_Table

Description

Although cascade deleting is executed from Zend_Db_Table_Abstract::delete it will not delete from dependent table. While calling _cascadeDelete on dependent table it's class name is passed as parent's table.
Zend_Db_Table_Abstract::delete should be:

    public function delete($where)
    {
        $depTables = $this->getDependentTables();
        if (!empty($depTables)) {
            $resultSet = $this->fetchAll($where);
            if (count($resultSet) > 0 ) {
                foreach ($resultSet as $row) {
                    /**
                     * Execute cascading deletes against dependent tables
                     */
                    foreach ($depTables as $tableClass) {
                        $t = self::getTableFromString($tableClass, $this);
                        $t->_cascadeDelete(get_class($this), $row->getPrimaryKey());
                    }
                }
            }
        }

        $tableSpec = ($this->_schema ? $this->_schema . '.' : '') . $this->_name;
        return $this->_db->delete($tableSpec, $where);
    }

@zfbot
Copy link
Author

zfbot commented Apr 5, 2013

This issue was ported from the ZF2 Jira Issue Tracker at
http://framework.zend.com/issues/browse/ZF-12412

Known GitHub users mentioned in the original message or comment:

@alessior81
Copy link

I have downloaded ZF 1.12.7 and this bug is already present. I patch my version and code works fine.
Please update in the next release.

@froschdesign
Copy link
Member

I patch my version and code works fine.

Please provide an unit test to illustrate the problem. Compare with the current unit tests.

@froschdesign
Copy link
Member

After a deeper look and a small fix at the DocBlocks, I can confirm the problem.

@froschdesign froschdesign self-assigned this Nov 29, 2014
@froschdesign froschdesign added this to the 1.12.10 milestone Nov 29, 2014
anupdugar added a commit to anupdugar/zf1 that referenced this issue Feb 6, 2015
Zend Framework 1.12.10

- [1: isLast not working as expected in Zend&zendframework#95;Service&zendframework#95;Amazon&zendframework#95;SimpleDb&zendframework#95;Page](zendframework#1)
- [8: Zend&zendframework#95;Loader&zendframework#95;ClassMapAutoloader is not auto included when using Zend&zendframework#95;Loader&zendframework#95;AutoloaderFactory::factory](zendframework#8)
- [15: Zend&zendframework#95;Db&zendframework#95;Table&zendframework#95;Abstract::delete does not delete from dependent table](zendframework#15)
- [32: Zend&zendframework#95;Soap&zendframework#95;Client has no 'exceptions' flag.](zendframework#32)
- [62: Zend&zendframework#95;Validate&zendframework#95;EmailAddress->&zendframework#95;validateMXRecords() fails on Umlaut-Domains](zendframework#62)
- [187: Zend&zendframework#95;Rest&zendframework#95;Server does not properly handle optional parameters when anonymous (arg1, etc) parameters are passed in](zendframework#187)
- [322: Zend&zendframework#95;Validate&zendframework#95;Hostname: disallowed Unicode code point](zendframework#322)
- [324: SlideShare API change some tag names.](zendframework#324)
- [345: CallbackHandler throws warning if WeakRef-extension not installed](zendframework#345)
- [377: Zend&zendframework#95;Console&zendframework#95;Getopt: Missing required parameter consumes next option as its parameter value](zendframework#377)
- [400: PHPUnit contraints: use real class names to help classmap generators](zendframework#400)
- [426: Use relative filenames for &zendframework#95;validIdns for direct include in Zend&zendframework#95;Validate&zendframework#95;Hostname](zendframework#426)
- [434: Corrected type of property &zendframework#95;currentRoute](zendframework#434)
- [440: Zend&zendframework#95;Controller&zendframework#95;Dispatcher&zendframework#95;Abstract::&zendframework#95;formatName() inconsistent with Action name handling](zendframework#440)
- [441: Loosen regex to allow nested function calls in SQL](zendframework#441)
- [444: Update Zend&zendframework#95;Validate&zendframework#95;Hostname TLDs list to 2014102301 version](zendframework#444)
- [446: fix typo unkown -> unknown](zendframework#446)
- [448: fix travis ci build for php 5.2](zendframework#448)
- [449: Zend&zendframework#95;Date doesn't create correct date when seconds are missing from 8601 format](zendframework#449)
- [452: "fluent", not "fluid"](zendframework#452)
- [453: Zend&zendframework#95;Cache&zendframework#95;Backend&zendframework#95;Memcached looks at "bytes", but Couchbase 1.x returns "mem&zendframework#95;used"](zendframework#453)
- [456: Documentation of Zend&zendframework#95;Feed&zendframework#95;Pubsubhubbub&zendframework#95;Model&zendframework#95;ModelAbstract](zendframework#456)
- [458: Fixed bug in quoteInto with $count parameter and question sign in $value](zendframework#458)
- [461: CDATA section for category elements in RSS feed](zendframework#461)
- [465: Zend&zendframework#95;Currency creates invalid cache ids for values with fractions](zendframework#465)
- [467: debug&zendframework#95;backtrace() called twice when only once needed ](zendframework#467)
- [468: Zend&zendframework#95;Validate&zendframework#95;Hostname improvements](zendframework#468)
- [469: &zendframework#91;Zend&zendframework#95;Validate&zendframework#92; Testcase for zendframework#322](zendframework#469)
- [471: End of life for PHPUnit installation using pear](zendframework#471)
- [475: Zend Json Server Exception is missing the method name](zendframework#475)
- [478: Create .gitattributes to mirror archive { } in composer.json](zendframework#478)
- [480: Virtual machine doesn't install initial packages](zendframework#480)
- [483: Update copyright to 2015](zendframework#483)
- [484: Adds content headers on POST request in Zend&zendframework#95;Controller&zendframework#95;Request&zendframework#95;HTTP](zendframework#484)
- [487: Allow overriding cache id and tag validation in Zend&zendframework#95;Cache](zendframework#487)
- [488: Zend&zendframework#95;Dojo&zendframework#95;View&zendframework#95;Helper&zendframework#95;Dojo&zendframework#95;Container setCdnVersion error...](zendframework#488)
- [490: Added more specific return documentation for Zend&zendframework#95;Navigation Pages](zendframework#490)

# gpg verification failed.

Conflicts:
	README.md
	library/Zend/Application/Resource/Frontcontroller.php
	library/Zend/Application/Resource/Translate.php
	library/Zend/Barcode/Object/ObjectAbstract.php
	library/Zend/Controller/Router/Rewrite.php
	library/Zend/Db/Select.php
	library/Zend/EventManager/Filter/FilterIterator.php
	library/Zend/EventManager/GlobalEventManager.php
	library/Zend/Gdata/HttpAdapterStreamingProxy.php
	library/Zend/Mime/Part.php
	library/Zend/Mobile/Push/Message/Abstract.php
	library/Zend/Rest/Server.php
	library/Zend/Service/Rackspace/Files.php
	library/Zend/Service/SlideShare.php
	library/Zend/Test/PHPUnit/ControllerTestCase.php
	library/Zend/Validate/Hostname.php
	library/Zend/Version.php
joanhe referenced this issue in magento/zf1 Apr 6, 2018
Magetwo 89443: Release New Version of ZF1
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants