+ Antworten
Ergebnis 1 bis 3 von 3

Thema: [DEV] Komponenteneintrag löschen

  1. #1
    Neu an Board
    Registriert seit
    25.03.2009
    Beiträge
    47
    Bedankte sich
    9
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard [DEV] Komponenteneintrag löschen

    Hallo!

    Bin gerade fast am Ende meiner Komponentenentwicklung angekommen aber habe noch ein Problem.

    Wenn ich einen Eintrag aus einer Liste eines Controllers lösche, funktioniert das bei mir z.Zt. so im Model:

    Code:
    	function delete()
    	{
    		$cids = JRequest::getVar( 'cid', array(0), 'post', 'array' );
    
    		$row =& $this->getTable();
    
    		if (count( $cids ))
    		{
    			foreach($cids as $cid) {
    				if (!$row->delete( $cid )) {
    					$this->setError( $row->getErrorMsg() );
    					return false;
    				}
    			}						
    		}
    		return true;
    	}
    Nun habe ich allerdings das "Problem", dass nicht nur aus der einen Tabelle Daten gelöscht werden sollen, sondern auch aus anderen Tabllen.

    Wie stelle ich das am besten an?

    Würde es so funktionieren:
    Code:
    	function delete()
    	{
    		$cids = JRequest::getVar( 'cid', array(0), 'post', 'array' );			
    		$row =& $this->getTable();
    
    		if (count( $cids ))
    		{
    			foreach($cids as $cid) {				
    				if (!$row->delete( $cid )) {
    					$this->setError( $row->getErrorMsg() );
    					return false;
    				}
    				$query = ' DELETE FROM xxxx WHERE id = '.$cid;
    				$this->_db->setQuery( $query );
    				
    			}						
    		}
    		return true;
    	}
    Grüße, Sascha

    digipanda development
    it's a kind of fun to do the impossible!

  2. #2
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    ja, entweder so, oder, wenn du auch gleich mehrere einträge auf einmal löschen willst, könntest du auch...

    PHP-Code:
    $cid JRequest::getVar'cid', array(0), 'post''array' );
    if (
    count$cid ))
    {
        
    $cids implode','$cid );
        
    $query 'DELETE FROM #__tabelle1 WHERE id IN ( '.$cids.' )';
        
    $this->_db->setQuery$query );
        if(!
    $this->_db->query()) 
        {
            
    $this->setError($this->_db->getErrorMsg());
            return 
    false;
        }
        
    $query 'DELETE FROM #__tabelle2 WHERE id IN ( '.$cids.' )';
        
    $this->_db->setQuery$query );
        if(!
    $this->_db->query()) 
        {
            
    $this->setError($this->_db->getErrorMsg());
            return 
    false;
        }
    //und so weiter...

    dann sparst du dir die schleife, prinzipiell aber das selbe, müsstest halt gucken, wie du am besten arbeiten kannst.

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    25.03.2009
    Beiträge
    47
    Bedankte sich
    9
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    vielen lieben Dank! Da gefällt mir Dein Weg doch tausendmal besser und ist um einiges "sauberer".
    Grüße, Sascha

    digipanda development
    it's a kind of fun to do the impossible!

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein