JTable/save

From Joomla! Documentation
< JTable(Difference between revisions)
Jump to: navigation, search
(Source Code)
 
Line 40: Line 40:
  
 
=== Source Code ===
 
=== Source Code ===
In this particular example a look on the source code is much more self-explainatory than any example.
+
In this particular case a look on the source code is much more self-explainatory than any example.
  
 
<source lang="php">
 
<source lang="php">

Latest revision as of 16:50, 25 November 2008


Contents

[edit] Syntax

boolean save ($source, $order_filter='', $ignore='')

[edit] Parameters

Argument Data type Description Default
$source array Source array for binding to class vars. See JTable/bind.
$order_filter string Filter for the order updating. See JTable/reorder ''
$ignore mixed An array or space separated list of fields not to bind. See JTable/bind. ''

[edit] Returns

TRUE if completely successful, FALSE if partially or not succesful.

[edit] Description

JTable::save() - Combines several methods of the JTable Class.

  1. Triggers the bind() method of the object, and binds the $source array to the object. See JTable/bind
  2. Triggers the check() method of the object, and checks if all properties which have been previously been bound to the object are valid. See JTable/check
  3. Triggers the store() method of the object, and updates the row defined by the table key, or inserts a new record if the value of the table key equals 0. See JTable/store
  4. Triggers the checkin() method of the object (only if the table has the columns checked_out and checked_out_time ). See JTable/checkin
  5. If the $order_filter parameter is set, the reorder() method is triggered, compacting the ordering sequence of the selected records. The parameter $order_filter is used to create the $where parameter for the JTable::reorder($where='') method. See JTable/reorder

[edit] Preconditions

JTable is an abstract class. You need to write a child class, to use its functionality. See Part 4 of the MVC Tutorial

[edit] Source Code

In this particular case a look on the source code is much more self-explainatory than any example.

function save( $source, $order_filter='', $ignore='' )
{
        if (!$this->bind( $source, $ignore )) {
                return false;
        }
        if (!$this->check()) {
                return false;
        }
        if (!$this->store()) {
                return false;
        }
        if (!$this->checkin()) {
                return false;
        }
        if ($order_filter)
        {
                $filter_value = $this->$order_filter;
                $this->reorder( $order_filter ? $this->_db->nameQuote( $order_filter ).' = '.$this->_db->Quote( $filter_value ) : '' );
        }
        $this->setError('');
        return true;
}

[edit] See also

Personal tools
Namespaces

Variants
Actions
Navigation
Joomla! Sites
Toolbox