Porm
    
            
            in package
            
        
    
    
            
            Uses
                            TableLevelQueryTrait,                             AggregateTrait                    
    
Table of Contents
Properties
- $database : mixed
- The CDatabase object to use
- $alias : string|null
- $allowFilterOnly : bool
- $columns : string|array<string|int, mixed>|null
- $preventHas : bool
- $preventRaw : true
- $resultSet : mixed
- $table : mixed
- The CDatabase table to use. This is for interoperability with other versions of Porm
- $where : array<string|int, mixed>
Methods
- __construct() : mixed
- asJson() : bool|string
- asObject() : mixed
- avg() : string|null
- columns() : static
- This defines the table column names to return from the CDatabase
- count() : int|null
- createOrUpdate() : object|array<string|int, mixed>
- Acronym for saveOrUpdate
- deleteAll() : PDOStatement|null
- This deletes all items that match the where clause
- deleteById() : PDOStatement|null
- This is under the hood similar to deleteOne but it is more explicit
- filter() : Builder
- This switches the query to filter mode. It is useful for conditional querying.
- first() : object|array<string|int, mixed>|null
- This grabs the first [n] items from the CDatabase based on the pkField given
- get() : object|array<string|int, mixed>|null
- Fetches a single item from the CDatabase.
- getAlias() : string|null
- getDatabase() : Piql|null
- getOrThrow() : object|array<string|int, mixed>|null
- Get a resource or throw an exception if it does not exist
- has() : bool
- This checks if the table has a record that matches the where clause
- info() : array<string|int, mixed>
- Returns the details of the current db connection
- inTransaction() : void
- Using transactions. This is a wrapper for the action method in the Core class.
- join() : object|null
- Opens the portal to the joins builder. Once you call this, you can call the join methods
- last() : object|array<string|int, mixed>|null
- Grab the last item from the CDatabase based on the pkField clause
- lastQuery() : string|null
- Logs the last query that was run
- lastSaved() : string|null
- Returns the last saved id
- max() : string|null
- min() : string|null
- random() : array<string|int, mixed>|mixed|object
- Fetches random n items from the table, default to 1
- raw() : mixed
- This assists to perform raw sql queries
- save() : object
- Saves and returns the saved item as an object
- saveAll() : array<string|int, mixed>|PDOStatement|null
- Save multiple items in the database.
- saveOrUpdate() : object|array<string|int, mixed>
- Create a new item or update an existing item Supports both single and multiple items
- setAlias() : void
- setDatabase() : void
- setTable() : void
- sum() : string|null
- update() : PDOStatement|null
- checkFilterMode() : void
- This prevents the use of non-filtering methods in filter mode.
Properties
$database
The CDatabase object to use
    public
        mixed
    $database
    
    
    
    
$alias
    private
        string|null
    $alias
    
    
        The alias to use, will defualt to the table name provided.
$allowFilterOnly
    private
        bool
    $allowFilterOnly
     = false
    
        Lock out the use of any other method other than filter
$columns
    private
        string|array<string|int, mixed>|null
    $columns
     = '*'
    
        The columns to select
$preventHas
    private
        bool
    $preventHas
     = false
    
        Lock out the use of filter
$preventRaw
    private
        true
    $preventRaw
     = false
    
        Lock out the use of raw queries
$resultSet
    private
        mixed
    $resultSet
    
    
        The result set to call asObject and asJson on.
$table
The CDatabase table to use. This is for interoperability with other versions of Porm
    private
        mixed
    $table
    
    
    
    
$where
    private
        array<string|int, mixed>
    $where
     = []
    
        The columns to select
Methods
__construct()
    public
                    __construct(Connection $connection) : mixed
    Parameters
- $connection : Connection
asJson()
    public
                    asJson() : bool|string
    Tags
Return values
bool|stringasObject()
    public
                    asObject() : mixed
    Tags
avg()
    public
                    avg(string $column, array<string|int, mixed>|null $where) : string|null
    Parameters
- $column : string
- $where : array<string|int, mixed>|null
Tags
Return values
string|nullcolumns()
This defines the table column names to return from the CDatabase
    public
                    columns([string|array<string|int, mixed> $columns = "*" ]) : static
    If you're in join mode, then all ambigous columns should define the table as an alias
Parameters
- $columns : string|array<string|int, mixed> = "*"
- 
                    The columns to select defaults to * for all. 
Tags
Return values
staticcount()
    public
                    count([string|null $column = null ][, array<string|int, mixed>|null $where = null ]) : int|null
    Parameters
- $column : string|null = null
- $where : array<string|int, mixed>|null = null
Tags
Return values
int|nullcreateOrUpdate()
Acronym for saveOrUpdate
    public
                    createOrUpdate(array<string|int, mixed>|Arrayable $data[, string $pkField = 'id' ]) : object|array<string|int, mixed>
    Parameters
- $data : array<string|int, mixed>|Arrayable
- $pkField : string = 'id'
Tags
Return values
object|array<string|int, mixed>deleteAll()
This deletes all items that match the where clause
    public
                    deleteAll(array<string|int, mixed> $where) : PDOStatement|null
    Parameters
- $where : array<string|int, mixed>
Tags
Return values
PDOStatement|nulldeleteById()
This is under the hood similar to deleteOne but it is more explicit
    public
                    deleteById(string|int $id[, string|null $idField = 'id' ]) : PDOStatement|null
    Parameters
- $id : string|int
- $idField : string|null = 'id'
Tags
Return values
PDOStatement|nullfilter()
This switches the query to filter mode. It is useful for conditional querying.
    public
                    filter([array<string|int, mixed>|null $where = [] ]) : Builder
    Parameters
- $where : array<string|int, mixed>|null = []
- 
                    The where clause to use 
Tags
Return values
Builderfirst()
This grabs the first [n] items from the CDatabase based on the pkField given
    public
                    first([int|null $size = 1 ][, array<string|int, mixed>|null $where = [] ][, string $pkField = 'id' ]) : object|array<string|int, mixed>|null
    Parameters
- $size : int|null = 1
- 
                    The number of items to fetch 
- $where : array<string|int, mixed>|null = []
- 
                    The where clause to use 
- $pkField : string = 'id'
- 
                    The primary key field to use 
Tags
Return values
object|array<string|int, mixed>|nullget()
Fetches a single item from the CDatabase.
    public
                    get([int|array<string|int, mixed>|string|null $where = null ][, string|null $idField = 'id' ]) : object|array<string|int, mixed>|null
    If the where clause is not passed, it fetches the last item in the table. If the where clause is an integer, it fetches the item with the id. If the where clause is an array, it fetches the item that matches the where clause. If the where clause is null, it fetches the last item in the table.
Parameters
- $where : int|array<string|int, mixed>|string|null = null
- $idField : string|null = 'id'
- 
                    defaults to id, pass this if you want to use a different field as the id other than id 
Tags
Return values
object|array<string|int, mixed>|nullgetAlias()
    public
                    getAlias() : string|null
    Return values
string|nullgetDatabase()
    public
                    getDatabase() : Piql|null
    Return values
Piql|nullgetOrThrow()
Get a resource or throw an exception if it does not exist
    public
                    getOrThrow([int|array<string|int, mixed>|string|null $where = null ][, string $message = 'Item not found' ][, string|null $idField = 'id' ]) : object|array<string|int, mixed>|null
    Parameters
- $where : int|array<string|int, mixed>|string|null = null
- $message : string = 'Item not found'
- $idField : string|null = 'id'
Tags
Return values
object|array<string|int, mixed>|nullhas()
This checks if the table has a record that matches the where clause
    public
                    has(string|array<string|int, mixed>|int|null $where[, string|null $pkField = 'id' ]) : bool
    Parameters
- $where : string|array<string|int, mixed>|int|null
- $pkField : string|null = 'id'
Tags
Return values
boolinfo()
Returns the details of the current db connection
    public
                    info() : array<string|int, mixed>
    Return values
array<string|int, mixed>inTransaction()
Using transactions. This is a wrapper for the action method in the Core class.
    public
                    inTransaction(callable $callback) : void
    To access data outside the transaction, Create a result variable and refer to the transaction callback with the keyword use, and you can get data back after when you assign it from inside.
Parameters
- $callback : callable
- 
                    The callback to run. It should return a void. 
Tags
join()
Opens the portal to the joins builder. Once you call this, you can call the join methods
    public
                    join([array<string|int, mixed>|null $where = null ]) : object|null
    Parameters
- $where : array<string|int, mixed>|null = null
Tags
Return values
object|nulllast()
Grab the last item from the CDatabase based on the pkField clause
    public
                    last([int|null $size = 1 ][, array<string|int, mixed>|null $where = [] ][, string $pkField = 'id' ]) : object|array<string|int, mixed>|null
    Parameters
- $size : int|null = 1
- 
                    The number of items to fetch 
- $where : array<string|int, mixed>|null = []
- 
                    The where clause to use 
- $pkField : string = 'id'
- 
                    The primary key field to use 
Tags
Return values
object|array<string|int, mixed>|nulllastQuery()
Logs the last query that was run
    public
                    lastQuery() : string|null
    Return values
string|null —The last query that was run
lastSaved()
Returns the last saved id
    public
                    lastSaved() : string|null
    Return values
string|nullmax()
    public
                    max(string $column, array<string|int, mixed>|null $where) : string|null
    Parameters
- $column : string
- $where : array<string|int, mixed>|null
Tags
Return values
string|nullmin()
    public
                    min(string $column, array<string|int, mixed>|null $where) : string|null
    Parameters
- $column : string
- $where : array<string|int, mixed>|null
Tags
Return values
string|nullrandom()
Fetches random n items from the table, default to 1
    public
                    random([int|null $limit = 1 ][, array<string|int, mixed>|null $where = null ]) : array<string|int, mixed>|mixed|object
    Parameters
- $limit : int|null = 1
- $where : array<string|int, mixed>|null = null
Tags
Return values
array<string|int, mixed>|mixed|objectraw()
This assists to perform raw sql queries
    public
                    raw(string $query[, array<string|int, mixed>|null $params = [] ][, string|null $using = 'db' ]) : mixed
    Parameters
- $query : string
- $params : array<string|int, mixed>|null = []
- $using : string|null = 'db'
Tags
save()
Saves and returns the saved item as an object
    public
                    save(array<string|int, mixed> $data) : object
    Parameters
- $data : array<string|int, mixed>
- 
                    The data to save. Must be an associative array 
Tags
Return values
object —The saved object
saveAll()
Save multiple items in the database.
    public
                    saveAll(array<string|int, mixed> $data[, bool $returning = true ]) : array<string|int, mixed>|PDOStatement|null
    Parameters
- $data : array<string|int, mixed>
- 
                    The data to save. Must be an associative array 
- $returning : bool = true
- 
                    If true, it returns the resultset containing the saved items 
Tags
Return values
array<string|int, mixed>|PDOStatement|nullsaveOrUpdate()
Create a new item or update an existing item Supports both single and multiple items
    public
                    saveOrUpdate(array<string|int, mixed>|Arrayable $data[, string $pkField = 'id' ]) : object|array<string|int, mixed>
    Parameters
- $data : array<string|int, mixed>|Arrayable
- $pkField : string = 'id'
Tags
Return values
object|array<string|int, mixed>setAlias()
    public
                    setAlias(string|null $alias) : void
    Parameters
- $alias : string|null
setDatabase()
    public
                    setDatabase(Piql $database) : void
    Parameters
- $database : Piql
setTable()
    public
                    setTable(string|null $table) : void
    Parameters
- $table : string|null
sum()
    public
                    sum(string $column, array<string|int, mixed>|null $where) : string|null
    Parameters
- $column : string
- $where : array<string|int, mixed>|null
Tags
Return values
string|nullupdate()
    public
                    update(array<string|int, mixed> $data, array<string|int, mixed>|int|string $where[, string|null $idField = 'id' ]) : PDOStatement|null
    Parameters
- $data : array<string|int, mixed>
- $where : array<string|int, mixed>|int|string
- $idField : string|null = 'id'
Tags
Return values
PDOStatement|nullcheckFilterMode()
This prevents the use of non-filtering methods in filter mode.
    private
                    checkFilterMode([string $msg = 'Query is in filter mode, you cannot use this method in filter mode' ]) : void
    Case here is like calling get() on join() yet join() return no resultset yet.
Parameters
- $msg : string = 'Query is in filter mode, you cannot use this method in filter mode'
- 
                    The message to throw This is primarily used internally for the purpose. $this->checkFilterMode("You cannot delete at this point in the query, check the usage of the `delete()` method in the query builder for ".$this->table);