NAME
Yancy::Model::Schema - Interface to a single schema
VERSION
version 1.088
SYNOPSIS
my
$schema
=
$app
->model->schema(
'foo'
);
my
$id
=
$schema
->create(
$data
);
my
$item
=
$schema
->get(
$id
);
my
$count
=
$schema
->
delete
(
$id
);
my
$count
=
$schema
->
delete
(
$where
);
my
$count
=
$schema
->set(
$id
,
$data
);
my
$count
=
$schema
->set(
$where
,
$data
);
my
$res
=
$schema
->list(
$where
,
$opts
);
for
my
$item
( @{
$res
->{items} } ) { ... }
DESCRIPTION
NOTE: This module is experimental and its API may change before Yancy v2!
For information on how to extend this module to add your own schema and item methods, see Yancy::Guides::Model.
ATTRIBUTES
model
The Yancy::Model object that created this schema object.
name
The name of the schema.
json_schema
The JSON Schema for this schema.
METHODS
id_field
The ID field for this schema. Either a single string, or an arrayref of strings (for composite keys).
build_item
Turn a hashref of row data into a Yancy::Model::Item object using "find_class" in Yancy::Model to find the correct class.
validate
Validate an item. Returns a list of errors (if any).
get
Get an item by its ID. Returns a Yancy::Model::Item object.
list
List items. Returns a hash reference with items
and total
keys. The items
is an array ref of Yancy::Model::Item objects. total
is the total number of items that would be returned without any offset
or limit
options.
create
Create a new item. Returns the ID of the created item.
set
Set the given fields in an item. See also "set" in Yancy::Model::Item.
delete
Delete an item. See also "delete" in Yancy::Model::Item.
SEE ALSO
Yancy::Guides::Model, Yancy::Model
AUTHOR
Doug Bell <preaction@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2021 by Doug Bell.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.