например, есть сущность...
<?php
namespace Mlife\Fraimework;
use Bitrix\Main\Entity;
use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);
class OfferpropTable extends Entity\DataManager
{
public static function getFilePath()
{
return __FILE__;
}
public static function getTableName()
{
return 'b_iblock_element_prop_s26';
}
public static function getMap()
{
return array(
new Entity\IntegerField('IBLOCK_ELEMENT_ID', array(
'primary' => true,
'autocomplete' => false,
)
),
new Entity\StringField('PROPERTY_130', array(
'required' => false,
'serialized' => true
)
),
new Entity\IntegerField('PROPERTY_131', array(
'required' => false
)
),
new Entity\IntegerField('PROPERTY_132', array(
'required' => false
)
),
new Entity\ReferenceField('PROF', '\Bitrix\Iblock\ElementTable',
array('=this.PROPERTY_132' => 'ref.ID')
),
new Entity\ReferenceField('MAIN', '\Bitrix\Iblock\ElementTable',
array('=this.PROPERTY_131' => 'ref.ID')
),
new Entity\ReferenceField('OFFER', '\Bitrix\Iblock\ElementTable',
array('=this.IBLOCK_ELEMENT_ID' => 'ref.ID')
),
);
}
}
|
Собираем данные...Загадка тут...//без этого выборка данных работать (корректно) не будет! почему?!
$r = CIBlockElement::GetList(array(),array("IBLOCK_ID"=>26),false,false,array("ID","IBLOCK_ID","PROPERTY_130"));
while($r->fetch());
|
$res = \Mlife\Fraimework\OfferpropTable::getList(array(
'select' => array(
'OFFER_NAME'=>'OFFER.NAME',
'OFFER_IMAGE'=>'OFFER.DETAIL_PICTURE',
'OFFER_PARAMS'=>'PROPERTY_130',
'PROF_IMAGE'=>'PROF.DETAIL_PICTURE',
'PROF_NAME'=>'PROF.NAME',
'ID' => 'MAIN.ID',
'TEXT' => 'MAIN.PREVIEW_TEXT',
'NAME' => 'MAIN.NAME',
),
'filter' => array('MAIN.IBLOCK_SECTION_ID'=>$sect,'PROF.IBLOCK_SECTION_ID'=>$prof),
'order' => array("MAIN.SORT"=>"ASC","PROF.SORT"=>"ASC")
));
while($dt = $res->fetch()){
}
|