sf model second part ref card

background image

Open-Source PHP5 MVC Framework

Agile Development

This cheat-sheet is not an official part of the symfony documentation

http://andreiabohner.wordpress.com

MODEL

DATABASE SCHEMA

propel:

blog_article:

_attributes: { phpName: Article }

id:

title: varchar(255)

content: longvarchar

created_at:

blog_comment:

_attributes: { phpName: Comment }

id:

article_id:

author: varchar(255)

content: longvarchar

created_at:

_attributes: {noXsd: false, defaultIdMethod: none, package: lib.model}

{required: true, primaryKey: true, autoIncrement: true}

name: {type: varchar(50), default: foobar, index: true}

group_id: {type: integer, foreignTable: db_group, foreignReference: id}

symfony

The database schema is a description of the relational model to do the

.

Y

ORM

ou define the tables, their relations, and the characteristics of their columns.

Symfony's syntax for schemas uses the YAML format.

Symfony also understands the Propel native XML schema format

the first key represents a connection name

schema.yml

tables

column attributes

type

- Column type. The choices are boolean, tinyint,

smallint, integer, bigint, double, float, real, decimal,
char, varchar(size), longvarchar, date, time, timestamp,
bu_date, bu_timestamp, blob, and clob.

required

- Boolean. Set it to true if you want the

column to be required.

default

- Default value.

primaryKey

- Boolean. Set it to true for primary keys.

autoIncrement

- Boolean. Set it to true for columns

of type integer that need to take an auto-incremented
value.

sequence

- Sequence name for databases using

sequences for autoIncrement columns (for example,
PostgreSQL and Oracle).

index

- Boolean. Set it to true if you want a simple

index or to unique if you want a unique index to be
created on the column.

foreignReference

- The name of the related column

if a

foreign key is defined via foreignTable.

foreignTable

- A table name, used to create a foreign

key to another table.

onDelete

- Determines the action to trigger when a

record in a related table is deleted. When set to set
null, the foreign key column is set to null. When set
to cascade, the record is deleted. If the database
engine doesn't support the set behavior, the ORM
emulates it. This is relevant only for columns bearing
a foreignTable and a foreignReference.

isCulture

- Boolean. Set it to true for culture columns

in localized content tables.

propel:
blog_article:
id:
title: varchar(50)
created_at:
_indexes:
my_index: [title, user_id]
_uniques:
my_other_index: [created_at]

Empty columns named id are considered PKs
id: { type: integer, required: true,
primaryKey: true, autoIncrement: true}

Empty columns named XXX_id are
considered foreign keys
foobar_id: {type: integer, foreignTable:
db_foobar, foreignReference: id}

Empty columns named created_at,
updated at, created_on and updated_on are
considered dates and automatically take the
timestamp type
created_at: { type: timestamp }
updated_at: { type: timestamp }

propel:
db_group:
id:
created_at:

db_group_i18n:
name: varchar(50)

table attributes

phpName

- the name of the class

that will be generated. If you don't
mention a phpName for a table, the
name will be the camelCase version
of the table name.

connection attributes

noXsd -

Set it to false if you want your schema to be

validated before code generation takes place.

defaultIdMethod

- If none is provided, then the database's

native method of generating IDs will be used--for example,
autoincrement for MySQL, or sequences for PostgreSQL.
The other possible value is none.

package

- is like a namespace; it determines the path where

the generated classes are stored. It defaults to lib/model/,
but you can change it to organize your model in subpackages.

isI18N

- Boolean. Set it to true for

i18n

i18nTable

- name of the i18n table.

empty column type

_foreignKeys:
my_foreign_key:
foreignTable: db_user
onDelete: cascade
references:
- { local: user_id, foreign: id }
- { local: post_id, foreign: id }

located in myproject/config/

propel:
db_group:
_attributes: { isI18N: true, i18nTable: db_group_i18n }
id:
created_at:

db_group_i18n:
id: { type: integer, required: true, primaryKey: true,
foreignTable: db_group, foreignReference: id, onDelete: cascade }
culture: { isCulture: true, type: varchar(7), required: true,primaryKey: true }
name: varchar(50)

Explicit i18n Mechanism

Implied i18n

Mechanism

i18n

Tables that contain localized content

Foreign Key Alternative Syntax Applied to

Multiple Reference Foreign Key

Indexes and Unique Indexes

Alternative Syntax


Document Outline


Wyszukiwarka

Podobne podstrony:
sf view second part ref card
sf model first part ref card
sf view first part ref card
sf model criteria criterion rs ref card enus
sf server validation ref card
sf Admin Generator Ref Card
Aerodynamics exam 20 06 2014 Second part
Model kartonowy Digital Card Model 2001 Nieuport RNAS School 1 32
(Papermodels@eMule) [Modelik 1997 13 (Model Card 108)] Ssbn 726 Uss Ohio Rar
00516 Termodynamika D part 1 2008 I zasada, bilans cieplny, model gazu(1)
Model kartonowy Digital Card Model 2001 Fairey Swordfish Mk 1(1 72)
Model kartonowy Digital Card Model 2002 Spad 7 SPA 124 Lufbery (1 32)
elpenor second lesson in ancient greek (voices tenses verb translating) PART 1
Model kartonowy Digital Card Model 2002 Spad 7 SPA 99 (1 32)
Model kartonowy Digital Card Model 2001 O 1Tummelisa (1 32)
Model kartonowy Digital Card Model 2003 Aichi D3A 1 (1 48)
Model kartonowy Digital Card Model 2002 Coanda 1 1 32
Model kartonowy Digital Card Model 2002 F4F Wildcat (1 48)

więcej podobnych podstron