ListModel

Extends \Joomla\CMS\MVC\Model\BaseDatabaseModel Implements \Joomla\CMS\MVC\Model\ListModelInterface

Model class for handling lists of items.

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

since

1.6

Methods

__construct

Class constructor, overridden in descendant classes.

__construct(mixed $properties = null) 
inherited
since

1.7.0

Arguments

$properties

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

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

_createTable

Method to load and return a table object.

_createTable(string $name, string $prefix = 'Table', array $config = array()) : \Joomla\CMS\Table\Table|boolean
inherited
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|booleanTable object or boolean false if failed

_getList

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

_getList(string $query, integer $limitstart, integer $limit) : array<mixed,object>
inherited
since

3.0

throws

\RuntimeException

Arguments

$query

stringThe query.

$limitstart

integerOffset.

$limit

integerThe number of records.

Response

array<mixed,object>An array of results.

_getListCount

Returns a record count for the query.

_getListCount(\Joomla\Database\DatabaseQuery|string $query) : integer
inherited

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

integerNumber of rows for query.

_getListQuery

Method to cache the last query constructed.

_getListQuery() : \Joomla\Database\DatabaseQuery

This method ensures that the query is constructed only once for a given state of the model.

since

1.6

Response

\Joomla\Database\DatabaseQueryA DatabaseQuery object

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.

bootComponent

Boots the component with the given name.

bootComponent(string $component) : \Joomla\CMS\Extension\ComponentInterface
inherited
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
inherited
since

3.0

Arguments

$group

stringThe cache group

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

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 \Joomla\CMS\Object\CMSObject::getProperties()

Arguments

$property

stringThe name of the property.

$default

mixedThe default value.

Response

mixedThe value of the property.

getActiveFilters

Function to get the active filters

getActiveFilters() : array
since

3.2

Response

arrayAssociative array in the format: array('filter_published' => 0)

getDbo

Get the database driver.

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

4.0.0

throws

\UnexpectedValueException

Response

\Joomla\Database\DatabaseInterfaceThe database driver.

getEmptyStateQuery

Provide a query to be used to evaluate if this is an Empty State, can be overridden in the model to provide granular control.

getEmptyStateQuery() : \Joomla\Database\DatabaseQuery
since

4.0.0

Response

\Joomla\Database\DatabaseQuery

getError

Get the most recent error message.

getError(integer $i = null, boolean $toString = true) : string
inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Arguments

$i

integerOption error index.

$toString

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

getFilterForm

Get the filter form

getFilterForm(array $data = array(), boolean $loadData = true) : \Joomla\CMS\Form\Form|null
since

3.2

Arguments

$data

arraydata

$loadData

booleanload current data

Response

\Joomla\CMS\Form\Form|nullThe \JForm object or null if the form can't be found

getFormFactory

Get the FormFactoryInterface.

getFormFactory() : \Joomla\CMS\Form\FormFactoryInterface
inherited
since

4.0.0

throws

\UnexpectedValueExceptionMay be thrown if the FormFactory has not been set.

Response

\Joomla\CMS\Form\FormFactoryInterface

getIsEmptyState

Is this an empty state, I.e: no items of this type regardless of the searched for states.

getIsEmptyState() : boolean
throws

\Exception

since

4.0.0

Response

boolean

getItems

Method to get an array of data items.

getItems() : mixed
since

1.6

Response

mixedAn array of data items on success, false on failure.

getListQuery

Method to get a DatabaseQuery object for retrieving the data set from a database.

getListQuery() : \Joomla\Database\DatabaseQuery
since

1.6

Response

\Joomla\Database\DatabaseQueryA DatabaseQuery object to retrieve the data set.

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

getPagination

Method to get a \JPagination object for the data set.

getPagination() : \Joomla\CMS\Pagination\Pagination
since

1.6

Response

\Joomla\CMS\Pagination\PaginationA Pagination object for the data set.

getProperties

Returns an associative array of object properties.

getProperties(boolean $public = true) : array
inherited
since

1.7.0

see \Joomla\CMS\Object\CMSObject::get()

Arguments

$public

booleanIf true, returns only the public properties.

Response

array

getStart

Method to get the starting number of items for the data set.

getStart() : integer
since

1.6

Response

integerThe starting number of items available in the data set.

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

getStoreId

Method to get a store id based on the model configuration state.

getStoreId(string $id = '') : string

This is necessary because the model is used by the component and different modules that might need different sets of data or different ordering requirements.

since

1.6

Arguments

$id

stringAn identifier string to generate the store id.

Response

stringA store id.

getTable

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

getTable(string $name = '', string $prefix = '', array $options = array()) : \Joomla\CMS\Table\Table
inherited
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

getTotal

Method to get the total number of items for the data set.

getTotal() : integer
since

1.6

Response

integerThe total number of items available in the data set.

getUserStateFromRequest

Gets the value of a user state variable and sets it in the session

getUserStateFromRequest(string $key, string $request, string $default = null, string $type = 'none', boolean $resetPage = true) : mixed

This is the same as the method in \JApplication except that this also can optionally force you back to the first page when a filter has changed

since

1.6

Arguments

$key

stringThe key of the user state variable.

$request

stringThe name of the variable passed in a request.

$default

stringThe default value for the variable if not found. Optional.

$type

stringFilter for the variable, for valid values see {@link InputFilter::clean()}. Optional.

$resetPage

booleanIf true, the limitstart in request is set to zero

Response

mixedThe request user state.

isCheckedOut

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

isCheckedOut(\stdClass $item) : boolean
inherited

Arguments

$item

\stdClassThe record to check

Response

boolean

loadForm

Method to get a form object.

loadForm(string $name, string $source = null, array $options = array(), boolean $clear = false, string $xpath = null) : \Joomla\CMS\Form\Form
inherited
see \Joomla\CMS\Form\Form
since

4.0.0

throws

\Exception

Arguments

$name

stringThe name of the form.

$source

stringThe form source. Can be XML string if file flag is set to false.

$options

arrayOptional array of options for the form creation.

$clear

booleanOptional argument to force load a new form.

$xpath

stringAn optional xpath to search for the fields.

Response

\Joomla\CMS\Form\Form

loadFormData

Method to get the data that should be injected in the form.

loadFormData() : array
inherited
since

4.0.0

Response

arrayThe default data is an empty array.

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

preprocessData

Method to allow derived classes to preprocess the data.

preprocessData(string $context,  &$data, string $group = 'content') : void
inherited
since

4.0.0

Arguments

$context

stringThe context identifier.

$data

$group

stringThe name of the plugin group to import (defaults to "content").

preprocessForm

Method to allow derived classes to preprocess the form.

preprocessForm(\Joomla\CMS\Form\Form $form, mixed $data, string $group = 'content') : void
inherited
see \Joomla\CMS\Form\FormField
since

4.0.0

throws

\Exceptionif there is an error in the form event.

Arguments

$form

\Joomla\CMS\Form\FormA Form object.

$data

mixedThe data expected for the form.

$group

stringThe name of the plugin group to import (defaults to "content").

refineSearchStringToRegex

Parse and transform the search string into a string fit for regex-ing arbitrary strings against

refineSearchStringToRegex(string $search, string $regexDelimiter = '/') : string
since

3.4

Arguments

$search

stringThe search string

$regexDelimiter

stringThe regex delimiter to use for the quoting

Response

stringSearch string escaped for regex

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.

setDbo

Set the database driver.

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

4.0.0

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.

setFormFactory

Set the form factory to use.

setFormFactory(\Joomla\CMS\Form\FormFactoryInterface $formFactory = null) : $this
inherited
since

4.0.0

Arguments

$formFactory

\Joomla\CMS\Form\FormFactoryInterfaceThe form factory to use.

Response

$this

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) : boolean
inherited
since

1.7.0

see \Joomla\CMS\Object\CMSObject::set()

Arguments

$properties

mixedEither an associative array or another object.

Response

boolean

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

cache

Internal memory based cache array of data.

since

1.6

Type(s)

array

context

Context string for the model type. This is used to handle uniqueness when dealing with the getStoreId() method and caching data structures.

since

1.6

Type(s)

string

filter_fields

Valid filter fields or ordering.

since

1.6

Type(s)

array

query

An internal cache for the last query used.

since

1.6

Type(s)

array<mixed,\Joomla\Database\DatabaseQuery>

filterFormName

Name of the filter form to load

since

3.2

Type(s)

string

htmlFormName

Associated HTML form

since

3.2

Type(s)

string

filterBlacklist

A list of filter variables to not merge into the model's state

deprecated
since

3.4.5

deprecated

4.0.0 use $filterForbiddenList instead

Type(s)

array

filterForbiddenList

A list of forbidden filter variables to not merge into the model's state

since

4.0.0

Type(s)

array

listBlacklist

A list of forbidden variables to not merge into the model's state

deprecated
since

3.4.5

deprecated

4.0.0 use $listForbiddenList instead

Type(s)

array

listForbiddenList

A list of forbidden variables to not merge into the model's state

since

4.0.0

Type(s)

array

_forms

Array of form objects.

inherited
since

4.0.0

Type(s)

array<mixed,\Joomla\CMS\Form\Form>

formFactory

FormFactoryInterface

inherited

option

The URL option for the component.

inherited
since

3.0

Type(s)

string

event_clean_cache

The event to trigger when cleaning cache.

inherited
since

3.0

Type(s)

string

_db

The database driver.

inherited
since

4.0.0

Type(s)

\Joomla\Database\DatabaseInterface

mvcFactory

The mvc factory.

inherited

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)

boolean

state

A state object

inherited
since

4.0.0

Type(s)

\Joomla\CMS\Object\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