Создание объектов
Последнее обновление Jan 27th, 2020 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$306 per month—let's make that $500!
Learn moreЧто такое Объект?¶
«Объект» в xPDO - это просто абстрактное представление строки в таблице в базе данных на основе классов. Другими словами, строка в таблице 'cars' будет иметь определение модели xPDO для таблицы 'cars', и тогда вы будете получать Коллекции объектов каждого автомобиля.
xPDO определяет эти объекты с помощью класса xPDOObject
.
Создание объекта¶
Для создания объектов в xPDO используется метод xPDO newObject
.
Допустим, у нас есть объект, определенный в нашей модели класса Box
. Мы хотим создать новый объект этого:
$myBox = $xpdo->newObject('Box');
Это просто. Мы также можем создать объект Box
с некоторыми предварительно заполненными значениями полей:
$myBox = $xpdo->newObject('Box',array(
'width' => 5,
'height' => 12,
'color' => 'red',
));
Вы не можете установить значения первичного ключа при использовании второго параметра newObject()
. Установите значения первичного ключа с помощью fromArray()
после создания экземпляра с помощью newObject()
и убедитесь, что вы установили параметр setPrimaryKeys
равным true
.
Это даст нам объект Box
на основе xPDOObject
, который можно манипулировать и сохранять. Обратите внимание, что этот объект еще не является постоянным, пока вы не сохраните его с помощью xPDOObject.save.
В версиях до xPDO 2.1.1-pl, если ваша таблица SQL не существует для созданного вами объекта, и класс объекта имеет определенную таблицу для этого класса, xPDO автоматически создаст таблицу в базе данных для вас. В 2.1.1-pl и более поздних версиях вы должны установить xPDO::OPT_AUTO_CREATE_TABLES
в true
, чтобы таблицы создавались автоматически. Рекомендуется создавать таблицы для вашей модели явно в сценарии установки, а не в зависимости от функций автоматического создания таблиц, которые не были обязательными в более ранних выпусках xPDO. Смотрите xPDOManager.createObjectContainer для получения информации о явном создании таблиц из модели.
Смотрите также¶
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$306 per month—let's make that $500!
Learn more