In Silverstripe CMS, application data is typically represented by
DataObject models. A
DataObject subclass defines the
data columns, relationships and properties of a particular data record. For example,
Member is a
which stores information about a person who has authenticated access to your project.
Introduction to the Data Model and ORM
Introduction to creating and querying a database records through the ORM (object-relational mapping)
Relations between Records
Relate models together using the ORM using has_one, has_many, and many_many.
The SS_List interface allows you to iterate through and manipulate a list of objects.
Data types, Overriding and Casting
Learn how data is stored going in and coming out of the ORM and how to modify it.
Modify the data model without using subclasses.
Use suffixes on your ORM queries.
Reduce risk by securing models.
Write and modify direct database queries through SQLExpression subclasses.
Model Validation and Constraints
Validate your data at the model level
Add versioning to your database content through the Versioned extension.
Building Model and Search Interfaces around Scaffolding
A Model-driven approach to defining your application UI.
Add Indexes to your Data Model to optimize database queries.
Manage your DataObject records
Dynamic Default Fields
Learn how to add default values to your models
Grouping DataObject sets
Learn how to split the results of a query into subgroups