Работа с учението в 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. използване доктрина.