Actions

Difference between revisions of "JTable/save"

From Joomla! Documentation

(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

Copyedit.png
This Article Needs Your Help

This article is tagged because it NEEDS REVIEW. You can help the Joomla! Documentation Wiki by contributing to it.
More pages that need help similar to this one are here. NOTE-If you feel the need is satistified, please remove this notice.


Contents

Syntax

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

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. ''

Returns

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

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

Preconditions

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

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;
}

See also