BaseDatabaseModel

Extends JObject

Base class for a database aware Joomla Model

abstract

Acts as a Factory class for application specific objects and provides many supporting API functions.

since

2.5.5

package

Joomla CMS

Methods

__construct

Constructor

__construct(array config = array(), \Joomla\CMS\MVC\Factory\MVCFactoryInterface factory = null) : mixed
since

3.0

throws

\Exception

Arguments

config

arrayAn array of configuration options (name, state, dbo, table_path, ignore_request).

factory

\Joomla\CMS\MVC\Factory\MVCFactoryInterfaceThe factory.

Response

mixed

_createFileName

Create the filename for a resource

_createFileName(string type, array parts = array()) : string
static
since

3.0

Arguments

type

stringThe resource type to create the filename for.

parts

arrayAn associative array of filename information.

Response

stringThe filename

_createTable

Method to load and return a model object.

_createTable(string name, string prefix = 'Table', array config = array()) : \JTable|bool
since

3.0

see JTable::getInstance()

Arguments

name

stringThe name of the view

prefix

stringThe class prefix. Optional.

config

arrayConfiguration settings to pass to \JTable::getInstance

Response

\JTable|boolTable object or boolean false if failed

_getList

Gets an array of objects from the results of database query.

_getList(string query, int limitstart, int limit) : object[]
since

3.0

throws

\RuntimeException

Arguments

query

stringThe query.

limitstart

intOffset.

limit

intThe number of records.

Response

object[]An array of results.

_getListCount

Returns a record count for the query.

_getListCount(\JDatabaseQuery|string query) : int

Note: Current implementation of this method assumes that getListQuery() returns a set of unique rows, thus it uses SELECT COUNT(*) to count the rows. In cases that getListQuery() uses DISTINCT then either this method must be overridden by a custom implementation at the derived Model Class or a GROUP BY clause should be used to make the set unique.

since

3.0

Arguments

query

\JDatabaseQuery|stringThe query.

Response

intNumber of rows for query.

addIncludePath

Add a directory where \JModelLegacy should search for models. You may either pass a string or an array of directories.

addIncludePath(mixed path = '', string prefix = '') : array
static
since

3.0

Arguments

path

mixedA path or array[sting] of paths to search.

prefix

stringA prefix for models.

Response

arrayAn array with directory elements. If prefix is equal to '', all directories are returned.

addTablePath

Adds to the stack of model table paths in LIFO order.

addTablePath(mixed path) : void
static
since

3.0

Arguments

path

mixedThe directory as a string or directories as an array to add.

cleanCache

Clean the cache

cleanCache(string group = null, int clientId) : void
since

3.0

Arguments

group

stringThe cache group

clientId

intThe ID of the client

getDbo

Method to get the database driver object

getDbo() : \JDatabaseDriver
since

3.0

Response

\JDatabaseDriver

getInstance

Returns a Model object, always creating it

getInstance(string type, string prefix = '', array config = array()) : \JModelLegacy|bool
static
since

3.0

Arguments

type

stringThe model type to instantiate

prefix

stringPrefix for the model class name. Optional.

config

arrayConfiguration array for model. Optional.

Response

\JModelLegacy|boolA \JModelLegacy instance or false on failure

getName

Method to get the model name

getName() : string

The model name. By default parsed using the classname or it can be set by passing a $config['name'] in the class constructor

since

3.0

throws

\Exception

Response

stringThe name of the model

getState

Method to get model state variables

getState(string property = null, mixed default = null) : mixed
since

3.0

Arguments

property

stringOptional parameter name

default

mixedOptional default value

Response

mixedThe property where specified, the state object where omitted

getTable

Method to get a table object, load it if necessary.

getTable(string name = '', string prefix = 'Table', array options = array()) : \JTable
since

3.0

throws

\Exception

Arguments

name

stringThe table name. Optional.

prefix

stringThe class prefix. Optional.

options

arrayConfiguration array for model. Optional.

Response

\JTableA \JTable object

loadHistory

Method to load a row for editing from the version history table.

loadHistory(int versionId, \JTable &table) : bool
since

3.2

Arguments

versionId

intKey to the version history table.

table

\JTableContent table object being loaded.

Response

boolFalse on failure or error, true otherwise.

populateState

Method to auto-populate the model state.

populateState() : void

This method should only be called once per instantiation and is designed to be called on the first call to the getState() method unless the model configuration flag to ignore the request is set.

note

Calling getState in this method will result in recursion.

since

3.0

setDbo

Method to set the database driver object

setDbo(\JDatabaseDriver db) : void
since

3.0

Arguments

db

\JDatabaseDriverA \JDatabaseDriver based object

setState

Method to set model state variables

setState(string property, mixed value = null) : mixed
since

3.0

Arguments

property

stringThe name of the property.

value

mixedThe value of the property to set or null.

Response

mixedThe previous value of the property or null if not set.

Properties

__state_set

Indicates if the internal state has been set

since

3.0

Type(s)

bool

_db

Database Connector

since

3.0

Type(s)

\JDatabaseDriver

name

The model (base) name

since

3.0

Type(s)

string

option

The URL option for the component.

since

3.0

Type(s)

string

state

A state object

since

3.0

Type(s)

\JObject

event_clean_cache

The event to trigger when cleaning cache.

since

3.0

Type(s)

string

factory

The factory.

deprecated
since

3.10.0

deprecated

4.0 This is a temporary property that will be moved into a trait in Joomla 4

Type(s)

\Joomla\CMS\MVC\Factory\MVCFactoryInterface