Using database

Defining Schema

When installing a module Microweber checks the config.php file for the $config['tables'] array. Each key represents a table name and its value is an array of column definitions. The ID column is automatically created and all columns are nullable by default.

Example userfiles/modules/paintings/config.php

$config = array();
$config['name'] = "My Paintings";
$config['author'] = "Pablo Picasso";
$config['ui'] = true; 
$config['ui_admin'] = true; 
$config['position'] = "98";
$config['version'] = "0.01";
$config['tables'] = array(
        'paintings' => array(
            'id' => 'integer',
        	'name' => 'string',
        	'price' => 'float',
        	'description' => 'text',
        	'created_by' => 'integer',
            'created_at' => 'dateTime',
        )
);

Custom Tables

For more options of the data storage you can read here.

Read more about making custom tables here.

Getting and saving data

You can use the db_get, db_save and db_delete functions to work with data from your those tables.

Create

The db_save function accepts table name as first argument and row data as a second argument. In order to create rows in a table simply don't specify an ID.

Example

Read

Call the db_get function and set the table key in the argument array to retrieve rows from a given database table.

Example

Set the single key to true in the argument array for the function to return a single row. Any non-reserved key name is treated as a WHERE condition for given column name. Reference the db_get function docs for more details.

Example

Alternatively the above query can be written like that db_get('table=paintings&name=Three Musicians&single=true')

Update

If the db_save function receives an array containing an id key it performs an update operation on the corresponding row.

Example

Delete

The db_delete function returns true after successfully deleting row with a specified ID.

Example

Advanced Queries

Reference the db_get and db_save documentation pages for a list of all available parameters.

Last updated

Was this helpful?