1. Go to this page and download the library: Download alexpago/bitrix-models library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace Pago\Bitrix\Models\Models\Catalog;
use Bitrix\Iblock\ORM\ValueStorage;
use Bitrix\Main\ORM\Objectify\Collection;
use Pago\Bitrix\Models\IModel;
/**
* Для вызова методов getProperty и получения значения используйте метод getValue()
* @method ValueStorage getCml2Service() // Привязка к услуге
* @method Collection getIncludedInPrice() // Что входит в стоимость
* @method ValueStorage getAppName() // Название (для приложения)
* @method Collection getSalons() // Салоны
* @method $this whereCml2Service(mixed $data, string $operator = '') // Привязка к услуге
* @method $this whereIncludedInPrice(mixed $data, string $operator = '') // Что входит в стоимость
* @method $this whereAppName(mixed $data, string $operator = '') // Название (для приложения)
* @method $this whereSalons(mixed $data, string $operator = '') // Салоны
*/
class CertificatesServices extends IModel
{
}
namespace Pago\Bitrix\Models\Models\Catalog;
use Pago\Bitrix\Models\IModel;
class CertificatesServicesModel extends IModel
{
const IBLOCK_CODE = 'certificates_services';
}
namespace Pago\Bitrix\Models\Models\Catalog;
use Pago\Bitrix\Models\IModel;
class CertificatesServicesModel extends IModel
{
const IBLOCK_ID = 3;
}
$elements = CertificatesServices::query()->withProperties()->get(); // get() вернет массив элементов
foreach ($elements as $element) {
}
CertificatesServices::query()
->withProperties()
->whereCityId(1)
->orWhere('CITY_ID', 2)
->whereIblockSectionId(10)
->whereId(5, '>=') // по умолчанию всегда оператор = (равно), заполнять при необходимости указать другой
->get();
CertificatesServices::query()->whereId(100)->first(); // first() вернет экземпляр класса
// SALONS и CITY - свойства инфоблока. Обратите внимание, префикс PROPERTY указывать не нужно
CertificatesServices::query()->setSelect(['ID', 'CODE', 'NAME', 'SALONS', 'CITY'])->get();
// SALONS и CITY - свойства инфоблока. Обратите внимание, префикс PROPERTY указывать не нужно
CertificatesServices::query()->select('ID')->select('CODE', 'NAME')->get();
// SALONS и CITY - свойства инфоблока. Обратите внимание, префикс PROPERTY указывать не нужно
CertificatesServices::query()->withProperties()->select('ID')->select('CODE', 'NAME')->get();
// SALONS и CITY - свойства инфоблока. Обратите внимание, префикс PROPERTY указывать не нужно
$element = CertificatesServices::query()->withDetailPageUrl()->select('ID')->first();
$element->getDetailPageUrl();
// SALONS и CITY - свойства инфоблока. Обратите внимание, префикс PROPERTY указывать не нужно
CertificatesServices::query()->where('ID', '>=', 1)->count();
$element = CertificatesServices::query()->withProperties()->first();
// Массив с результатом [Bitrix\Main\ORM\Data\Result]
$element->delete();
// Для получения результата в bool
$element->elementDelete();
// Массив с результатом [Bitrix\Main\ORM\Data\Result]
$delete = CertificatesServices::query()->withProperties()->whereActive(false)->delete();
$element = CertificatesServices::query()->withProperties()->first();
$element->NAME = 'Новое имя';
$element->SALON_ID = 135; // Свойство инфоблока SALON_ID
// Результат сохранения Bitrix\Main\ORM\Data\Result
$element->save();
$element = CertificatesServices::query()->withProperties()->first();
// Массив с результатом [Bitrix\Main\ORM\Data\Result]
$element->update([
'NAME' => 'Новое имя'
]);
// Результат запроса Bitrix\Main\ORM\Data\Result
$element->elementUpdate([
'NAME' => 'Новое имя 2'
]);
$data = [
'ACTIVE' => true
];
// Массив с результатом [Bitrix\Main\ORM\Data\Result]
$delete = CertificatesServices::query()->withProperties()->whereActive(false)->update($data);
$element = new CertificatesServices();
$element->NAME = 'Имя нового элемента';
// Результат сохранения Bitrix\Main\ORM\Data\Result
$element->save();
protected function onBeforeUpdate(): void
{
$data = $this->getProperties(); // Текущие свойства
$originalData = $this->getOriginalProperties(); // Свойства при инициализации модели
$changedData = $this->getChangedProperties(); // Измененные свойства
// Можно предопределить данные
$this->NAME .= ' Обновлено';
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.