QBit::Application::Model::DB::Table
Base class for DB tables.
name
inherits
primary_key
indexes
foreign_keys
collate
engine
create_sql
add_multi
add
delete
_get_field_object
_convert_fk_auto_type
No arguments.
Method called from "new" before return object.
Return values:
$fields - reference to array of objects (QBit::Application::Model::DB::Field)
Example:
my $fields = $app->db->users->fields();
@field_names
my @field_names = $app->db->users->field_names();
Arguments:
%opts - options with keys
comment
fields
filter
group_by
order_by
offset
limit
distinct
for_update
all_langs
For more information see QBit::Application::Model::DB::Query::get_all
$data - reference to array
my $data = $app->db->users->get_all( fields => [qw(id login)], filter => {id => 3}, );
$pkeys_or_filter - perl variables or object (QBit::Application::Model::DB::filter)
$data - reference to hash
$app->db->users->edit(1, {login => 'LoginNew'}); $app->db->users->edit([1], {login => 'LoginNew'}); $app->db->users->edit({id => 1}, {login => 'LoginNew'}); $app->db->users->edit($app->db->filter({login => 'Login'}), {login => 'LoginNew'});
$id - scalar or hash
my $data = $app->db->users->get(3, fields => [qw(id login)],);
Truncate table.
$app->db->users->truncate();
%opts - options to alter
disable_keys
enable_keys
$app->db->users->alter(disable_keys => TRUE); ... $app->db->users->alter(enable_keys => TRUE);
Create table in DB.
%opts - options with keys, same as for method create_sql
$app->db->users->create();
if_exists - added 'IF EXISTS'
$app->db->users->drop(); # DROP TABLE `users`; $app->db->users->drop(if_exists => TRUE); # DROP TABLE IF EXISTS `users`;
$name_or_table - table name or object
$app->db->users->swap('clients'); # RENAME TABLE `users` TO `users_<pid>_<time>`, `clients` TO `users`, `users_<pid>_<time>` TO `clients`; $app->db->users->swap($app->db->clients); # same
You can redefine this method in your Model.
$fields - reference to array
$bool
my $bool = $app->db->users->have_fields([qw(id login)]);
For more information see code and test.
To install QBit::Application::Model::DB, copy and paste the appropriate command in to your terminal.
cpanm
cpanm QBit::Application::Model::DB
CPAN shell
perl -MCPAN -e shell install QBit::Application::Model::DB
For more information on module installation, please visit the detailed CPAN module installation guide.