Jelix 1.8.27

jDaoFactoryBase
in package

base class for all factory classes generated by the dao compiler.

Tags
subpackage

dao

Table of Contents

$_conn  : jDbConnection
the database connector.
$_DaoRecordClassName  : string
the class name of a dao record for this dao factory.
$_daoSelector  : string
the selector of the dao, to be sent with events.
$_deleteAfterEvent  : mixed
$_deleteBeforeEvent  : mixed
$_deleteByAfterEvent  : mixed
$_deleteByBeforeEvent  : mixed
$_fromClause  : string
the from clause you can reuse for a specific SELECT query.
$_primaryTable  : string
the id of the primary table.
$_selectClause  : string
the select clause you can reuse for a specific SELECT query.
$_tables  : array<string|int, mixed>
informations on tables.
$_whereClause  : string
the where clause you can reuse for a specific SELECT query.
$falseValue  : mixed
$trueValue  : mixed
__construct()  : mixed
countAll()  : int
return the number of all records.
countBy()  : int
return the number of records corresponding to the conditions stored into the jDaoConditions object.
createRecord()  : jDaoRecordBase
creates a record object for the dao.
deleteBy()  : number
delete all record corresponding to the conditions stored into the jDaoConditions object.
findAll()  : jDbResultSet
return all records.
findBy()  : jDbResultSet
return all record corresponding to the conditions stored into the jDaoConditions object.
getPrimaryKeyNames()  : array<string|int, mixed>
list of id of primary properties.
getPrimaryTable()  : string
getProperties()  : array<string|int, mixed>
informations on all properties.
getTables()  : array<string|int, mixed>
insert()  : int
save a new record into the database if the dao record has an autoincrement key, its corresponding property is updated.
update()  : int
save a modified record into the database.
_callbackBool()  : mixed
a callback function for some array_map call in generated methods.
_callbackQuote()  : mixed
a callback function for some array_map call in generated methods.
_callbackQuoteBin()  : mixed
a callback function for some array_map call in generated methods.
_getPkWhereClauseForNonSelect()  : string
create a WHERE clause with conditions on primary keys with given value. This method should be used for DELETE and UPDATE queries.
_getPkWhereClauseForSelect()  : string
create a WHERE clause with conditions on primary keys with given value. This method should be used for SELECT queries. You haven't to escape values.
_prepareValue()  : mixed
prepare the value ready to be used in a dynamic evaluation.
finishInitResultSet()  : mixed
finish to initialise a record set. Could be redefined in child class to do additionnal processes.

Properties

$_DaoRecordClassName

the class name of a dao record for this dao factory.

protected string $_DaoRecordClassName
Tags

$_daoSelector

the selector of the dao, to be sent with events.

protected string $_daoSelector
Tags

$_fromClause

the from clause you can reuse for a specific SELECT query.

protected string $_fromClause
Tags

$_selectClause

the select clause you can reuse for a specific SELECT query.

protected string $_selectClause
Tags

$_tables

informations on tables.

protected array<string|int, mixed> $_tables

Keys of elements are the alias of the table. values are arrays like that :

 array (
  'name' => ' the table alias',
  'realname' => 'the real name of the table',
  'pk' => array ( list of primary keys name ),
  'fields' => array ( list of property name attached to this table )
)
Tags

$_whereClause

the where clause you can reuse for a specific SELECT query.

protected string $_whereClause
Tags

Methods

countAll()

return the number of all records.

public countAll() : int
Tags
Return values
int —

the count

countBy()

return the number of records corresponding to the conditions stored into the jDaoConditions object.

public final countBy(jDaoConditions $searchcond[, null|mixed $distinct = null ]) : int
Parameters
$searchcond : jDaoConditions
$distinct : null|mixed = null
Tags
author

Loic Mathaud

contributor

Steven Jehannet

copyright

2007 Loic Mathaud

since
1.0b2
Return values
int —

the count

deleteBy()

delete all record corresponding to the conditions stored into the jDaoConditions object.

public final deleteBy(jDaoConditions $searchcond) : number
Parameters
$searchcond : jDaoConditions
Tags
since
1.0beta3
Return values
number —

of deleted rows

findBy()

return all record corresponding to the conditions stored into the jDaoConditions object.

public final findBy(jDaoConditions $searchcond, int $limitOffset[, int $limitCount = null ]) : jDbResultSet

you can limit the number of results by given an offset and a count.

Parameters
$searchcond : jDaoConditions
$limitOffset : int
$limitCount : int = null
Tags
Return values
jDbResultSet —

getPrimaryKeyNames()

list of id of primary properties.

public getPrimaryKeyNames() : array<string|int, mixed>
Tags
since
1.0beta3
Return values
array<string|int, mixed> —

list of properties name which contains primary keys

getPrimaryTable()

public getPrimaryTable() : string
Tags
since
1.3.2
Return values
string —

the id (alias or realname) of the primary table

getProperties()

informations on all properties.

public getProperties() : array<string|int, mixed>

keys are property name, and values are an array like that :

 array (
 'name' => 'name of property',
 'fieldName' => 'name of fieldname',
 'regExp' => NULL, // or the regular expression to test the value
 'required' => true/false,
 'isPK' => true/false, //says if it is a primary key
 'isFK' => true/false, //says if it is a foreign key
 'datatype' => '', // type of data : string
 'unifiedType'=> '' // the corresponding unified type
 'table' => 'grp', // alias of the table the property is attached to
 'updatePattern' => '%s',
 'insertPattern' => '%s',
 'selectPattern' => '%s',
 'sequenceName' => '', // name of the sequence when field is autoincrement
 'maxlength' => NULL, // or a number
 'minlength' => NULL, // or a number
 'ofPrimaryTable' => true/false
 'autoIncrement'=> true/false
) 
Tags
since
1.0beta3
Return values
array<string|int, mixed> —

informations on all properties

insert()

save a new record into the database if the dao record has an autoincrement key, its corresponding property is updated.

public abstract insert(jDaoRecordBase $record) : int
Parameters
$record : jDaoRecordBase

the record to save

Tags
Return values
int —

1 if success (the number of affected rows). False if the query has failed.

update()

save a modified record into the database.

public abstract update(jDaoRecordBase $record) : int
Parameters
$record : jDaoRecordBase

the record to save

Tags
Return values
int —

1 if success (the number of affected rows). False if the query has failed.

_callbackBool()

a callback function for some array_map call in generated methods.

protected _callbackBool(mixed $value) : mixed
Parameters
$value : mixed
Tags
Return values
mixed —

_callbackQuote()

a callback function for some array_map call in generated methods.

protected _callbackQuote(mixed $value) : mixed
Parameters
$value : mixed
Tags
since
1.2
Return values
mixed —

_callbackQuoteBin()

a callback function for some array_map call in generated methods.

protected _callbackQuoteBin(mixed $value) : mixed
Parameters
$value : mixed
Tags
since
1.2
Return values
mixed —

_getPkWhereClauseForNonSelect()

create a WHERE clause with conditions on primary keys with given value. This method should be used for DELETE and UPDATE queries.

protected abstract _getPkWhereClauseForNonSelect(array<string|int, mixed> $pk) : string
Parameters
$pk : array<string|int, mixed>

associated array : keys = primary key name, values : value of a primary key

Tags
Return values
string —

a 'where' clause (WHERE mypk = 'myvalue' ...)

_getPkWhereClauseForSelect()

create a WHERE clause with conditions on primary keys with given value. This method should be used for SELECT queries. You haven't to escape values.

protected abstract _getPkWhereClauseForSelect(array<string|int, mixed> $pk) : string
Parameters
$pk : array<string|int, mixed>

associated array : keys = primary key name, values : value of a primary key

Tags
Return values
string —

a 'where' clause (WHERE mypk = 'myvalue' ...)

_prepareValue()

prepare the value ready to be used in a dynamic evaluation.

protected final _prepareValue(mixed $value, mixed $fieldType[, mixed $notNull = false ]) : mixed
Parameters
$value : mixed
$fieldType : mixed
$notNull : mixed = false
Tags
Return values
mixed —

finishInitResultSet()

finish to initialise a record set. Could be redefined in child class to do additionnal processes.

protected finishInitResultSet(jDbResultSet $rs) : mixed
Parameters
$rs : jDbResultSet

the record set

Tags
Return values
mixed —

Search results