BaseDatabaseModel

Extends BaseModel Implements DatabaseModelInterface, \Joomla\Event\DispatcherAwareInterface, CurrentUserInterface, CacheControllerFactoryAwareInterface, \Joomla\Database\DatabaseAwareInterface

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

Class constructor, overridden in descendant classes.

__construct(mixed properties = null) : mixed
inherited
since

1.7.0

Arguments

properties

mixedEither and associative array or another object to set the initial properties of the object.

Response

mixed

__get

Proxy for _db variable.

__get(string name) : mixed
deprecated
since

4.2.0

deprecated

5.0 Use getDatabase() instead of directly accessing _db

Arguments

name

stringThe name of the element

Response

mixedThe value of the element if set, null otherwise

__toString

Magic method to convert the object to a string gracefully.

__toString() : string
inherited deprecated
since

1.7.0

deprecated

3.1.4 Classes should provide their own __toString() implementation.

Response

stringThe classname.

_createFileName

Create the filename for a resource

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

3.0

deprecated

5.0 See getInstance

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 table object.

_createTable(string name, string prefix = 'Table', array config = array()) : \Joomla\CMS\Table\Table|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 Table::getInstance

Response

\Joomla\CMS\Table\Table|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(\Joomla\Database\DatabaseQuery|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

\Joomla\Database\DatabaseQuery|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
inherited static deprecated
since

3.0

deprecated

5.0 See LegacyModelLoaderTrait\getInstance

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
inherited static deprecated
since

3.0

deprecated

5.0 See getInstance

Arguments

path

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

bootComponent

Boots the component with the given name.

bootComponent(string component) : \Joomla\CMS\Extension\ComponentInterface
since

4.0.0

Arguments

component

stringThe component name, eg. com_content.

Response

\Joomla\CMS\Extension\ComponentInterfaceThe service container

cleanCache

Clean the cache

cleanCache(string group = null) : void
since

3.0

Arguments

group

stringThe cache group

createModelFromComponent

Returns a Model object by loading the component from the prefix.

createModelFromComponent(string type, string prefix = '', array config = []) : \Joomla\CMS\MVC\Model\ModelInterface|null
inherited static deprecated
since

4.0.0

deprecated

5.0 See getInstance

Arguments

type

stringThe model type to instantiate

prefix

stringPrefix for the model class name. Optional.

config

arrayConfiguration array for model. Optional.

Response

\Joomla\CMS\MVC\Model\ModelInterface|nullA ModelInterface instance or null on failure

def

Sets a default value if not already assigned

def(string property, mixed default = null) : mixed
inherited
since

1.7.0

Arguments

property

stringThe name of the property.

default

mixedThe default value.

Response

mixed

dispatchEvent

Dispatches the given event on the internal dispatcher, does a fallback to the global one.

dispatchEvent(\Joomla\Event\EventInterface event) : void
since

4.1.0

Arguments

event

\Joomla\Event\EventInterfaceThe event

get

Returns a property of the object or the default value if the property is not set.

get(string property, mixed default = null) : mixed
inherited
since

1.7.0

see CMSObject::getProperties()

Arguments

property

stringThe name of the property.

default

mixedThe default value.

Response

mixedThe value of the property.

getCacheControllerFactory

Get the CacheControllerFactoryInterface.

getCacheControllerFactory() : \Joomla\CMS\Cache\CacheControllerFactoryInterface
inherited
since

4.2.0

Response

\Joomla\CMS\Cache\CacheControllerFactoryInterface

getCurrentUser

Returns the current user, if none is set the identity of the global app is returned. This will change in 5.0 and an empty user will be returned.

getCurrentUser() : \Joomla\CMS\User\User
inherited
since

4.2.0

Response

\Joomla\CMS\User\User

getDbo

Get the database driver.

getDbo() : \Joomla\Database\DatabaseInterface
deprecated
since

4.2.0

throws

\UnexpectedValueException

deprecated

5.0 Use getDatabase() instead

Response

\Joomla\Database\DatabaseInterfaceThe database driver.

getError

Get the most recent error message.

getError(int i = null, bool toString = true) : string
inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Arguments

i

intOption error index.

toString

boolIndicates if Exception objects should return their error message.

Response

stringError message

getErrors

Return all errors, if any.

getErrors() : array
inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Response

arrayArray of error messages.

getInstance

Returns a Model object, always creating it

getInstance(string type, string prefix = '', array config = array()) : self|bool
inherited static deprecated
since

3.0

deprecated

5.0 Get the model through the MVCFactory instead

Arguments

type

stringThe model type to instantiate

prefix

stringPrefix for the model class name. Optional.

config

arrayConfiguration array for model. Optional.

Response

self|boolA \JModelLegacy instance or false on failure

getMVCFactory

Returns the MVC factory.

getMVCFactory() : \Joomla\CMS\MVC\Factory\MVCFactoryInterface
inherited
since

4.0.0

throws

\UnexpectedValueException

Response

\Joomla\CMS\MVC\Factory\MVCFactoryInterface

getName

Method to get the model name

getName() : string
inherited

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

since

4.0.0

throws

\Exception

Response

stringThe name of the model

getProperties

Returns an associative array of object properties.

getProperties(bool public = true) : array
inherited
since

1.7.0

see CMSObject::get()

Arguments

public

boolIf true, returns only the public properties.

Response

array

getState

Method to get state variables.

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

4.0.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 = '', array options = array()) : \Joomla\CMS\Table\Table
since

3.0

throws

\Exception

Arguments

name

stringThe table name. Optional.

prefix

stringThe class prefix. Optional.

options

arrayConfiguration array for model. Optional.

Response

\Joomla\CMS\Table\TableA Table object

isCheckedOut

Method to check if the given record is checked out by the current user

isCheckedOut(\stdClass item) : bool

Arguments

item

\stdClassThe record to check

Response

bool

populateState

Method to auto-populate the state.

populateState() : void
inherited

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 configuration flag to ignore the request is set.

note

Calling getState in this method will result in recursion.

since

4.0.0

set

Modifies a property of the object, creating it if it does not already exist.

set(string property, mixed value = null) : mixed
inherited
since

1.7.0

Arguments

property

stringThe name of the property.

value

mixedThe value of the property to set.

Response

mixedPrevious value of the property.

setCacheControllerFactory

Set the cache controller factory to use.

setCacheControllerFactory(\Joomla\CMS\Cache\CacheControllerFactoryInterface cacheControllerFactory = null) : void
inherited
since

4.2.0

Arguments

cacheControllerFactory

\Joomla\CMS\Cache\CacheControllerFactoryInterfaceThe cache controller factory to use.

setCurrentUser

Sets the current user.

setCurrentUser(\Joomla\CMS\User\User currentUser) : void
inherited
since

4.2.0

Arguments

currentUser

\Joomla\CMS\User\UserThe current user object

setDbo

Set the database driver.

setDbo(\Joomla\Database\DatabaseInterface db = null) : void
deprecated
since

4.2.0

deprecated

5.0 Use setDatabase() instead

Arguments

db

\Joomla\Database\DatabaseInterfaceThe database driver.

setError

Add an error message.

setError(string error) : void
inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Arguments

error

stringError message.

setMVCFactory

Set the MVC factory.

setMVCFactory(\Joomla\CMS\MVC\Factory\MVCFactoryInterface mvcFactory) : void
inherited
since

4.0.0

Arguments

mvcFactory

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

setProperties

Set the object properties based on a named array/hash.

setProperties(mixed properties) : bool
inherited
since

1.7.0

see CMSObject::set()

Arguments

properties

mixedEither an associative array or another object.

Response

bool

setState

Method to set state variables.

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

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

option

The URL option for the component.

since

3.0

Type(s)

string

event_clean_cache

The event to trigger when cleaning cache.

since

3.0

Type(s)

string

mvcFactory

The mvc factory.

inherited
since

4.0.0

Type(s)

MVCFactoryInterface

currentUser

The current user object.

inherited
since

4.2.0

Type(s)

User

cacheControllerFactory

CacheControllerFactoryInterface

inherited
since

4.2.0

Type(s)

CacheControllerFactoryInterface

name

The model (base) name

inherited
since

4.0.0

Type(s)

string

paths

The include paths

inherited static
since

4.0.0

Type(s)

array

__state_set

Indicates if the internal state has been set

inherited
since

4.0.0

Type(s)

bool

state

A state object

inherited
since

4.0.0

Type(s)

CMSObject

_errors

An array of error messages or Exception objects.

inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Type(s)

array