Работа с учението в Symfony рамка

Така че ние вече знаем на теория (тук, за да прочете), който доктрина. това, което дава предимства в сравнение с "голи" заявки SQL. Сега отиде на тренировка.

Както вече се препоръчват в предишния урок, най-лесният начин - да се създаде ORM въз основа на съществуваща база. Вие ще трябва само две команди:

По този начин ние създаваме конфигурация при изработката на модела. Формата може да бъде различен, например, YML, XML и т.н. След това се създаде ORM:

В създаването на ORM може да се счита за приключена. На какво, ако са свързани таблици, всички необходими комуникации са били веднага, установени в този модел. Можете да започнете с базата данни.

Забележка. В резултат на това първата команда създава конфигурацията на базата данни (по подразбиране в SRC / Path_to_bundle / ресурси / довереник / доктрина. Понякога трябва да го редактирате, например, за да могат да се определят стойностите по подразбиране на този в една от следните бележки.

Втора класа команда генериращи т.нар картографиране. заедно с така наречените поглъщащите вещества и създателите методи. (По подразбиране, в SRC / Path_to_bundle / Entity). Тези класове и има представителство на таблиците в базата данни.

Ако не разполагате с готова база данни и искате да създадете, повикване

Изтриване на DB може да командва

Това ще доведе до интерактивна генератор. След Неговите указания, създаде модел (картографиране). Можете да създадете таблица в базата данни на базата на този модел. След приключване на работата с интерактивна генератор, създаде модел, тъй като ние писахме преди

Създайте таблица в базата данни, с помощта на картиране:

Продължете директно да работи с база данни с помощта на учение. Тази бележка е въведение, така че, докато ние ще направим, без да поискате DQL.

Ака изберете, за да се направи проста проба от същата таблица на база данни, достатъчно, за да пишат на контролера:

намери ($ номер) метод прави селекцията от идентификатор (от първичен ключ). В допълнение, съществуват методи

findAll () - получавате всички записи в таблицата,

findBy (масив ( "област '=>' стойност")) - проба със състояние, например,

// Това сортиране масив ( "цена '=>' ASC"));

Както вероятно се досещате, от типа на $ продукти - това е нашият модел, генерирани (картографиране). (Какво по SRC / Path_to_bundle / Entity)

Ака INSERT / UPDATE Много удобен, че използването на Учение разлика между добавяне на записи и актуализира съществуващото минимум. Всичко зависи от това какъв вид на обекта, който се актуализира - този, за който е направен по-горе SELECT. или не.

Започнете с добавяне (INSERT) в базата данни:

// Създаване на инстанция на модел $ продукт = нов продукт;

// определя стойността на полето $ продуктов> setValue ( "стойност").

// назначен мениджър обектен модел $ подмятанията на> запази ($ продукт)

// Добавяне на запис в таблицата $ подмятанията на> флъш ();

Актуализация (UPDATE) се характеризира с това, че е необходимо първо да изберете записа за ъпгрейд. И все пак!

// Изберете запис за актуализацията - в този ред всички разлика $ продукт = $ подмятанията> getRepository ( "AcmeStoreBundle: Продуктът") - БТ; намерите ($ номер);

// определя стойността на полето $ продуктов> setValue ( "стойност").

// назначен мениджър обектен модел $ подмятанията на> запази ($ продукт)

// Добавяне на запис в таблицата $ подмятанията на> флъш ();

За отстраняване, трябва само да се обадя за премахване (), вместо да персистира ():

Това е всичко за. Научихме как да изпълнявате основни операции с базата данни в рамките Symfony. използване доктрина.