API16

JTable/save

< API16:JTable

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description

Method to provide a shortcut to binding, checking and storing a JTable instance to the database table. The method will check a row in once the data has been stored and if an ordering filter is present will attempt to reorder the table rows based on the filter. The ordering filter is an instance property name. The rows that will be reordered are those whose value matches the JTable instance for the property specified.



Syntax

save($src, $orderingFilter= '', $ignore= '')
Parameter Name Default Value Description
$src An associative array or object to bind to the instance.
$orderingFilter Filter for the order updating
$ignore An optional array or space separated list of properties to ignore while binding.

Returns

boolean True on success.

Defined in

libraries/joomla/database/table.php

Importing

jimport( 'joomla.database.table' );

Source Body

public function save($src, $orderingFilter = '', $ignore = '')
{
        // Attempt to bind the source to the instance.
        if (!$this->bind($src, $ignore)) {
                return false;
        }

        // Run any sanity checks on the instance and verify that it is ready for storage.
        if (!$this->check()) {
                return false;
        }

        // Attempt to store the properties to the database table.
        if (!$this->store()) {
                return false;
        }

        // Attempt to check the row in, just in case it was checked out.
        if (!$this->checkin()) {
                return false;
        }

        // If an ordering filter is set, attempt reorder the rows in the table based on the filter and value.
        if ($orderingFilter) {
                $filterValue = $this->$orderingFilter;
                $this->reorder($orderingFilter ? $this->_db->nameQuote($orderingFilter).' = '.$this->_db->Quote($filterValue) : '');
        }

        // Set the error to empty and return true.
        $this->setError('');
        return true;
}



Examples

Code Examples


Advertisement