entity

никак не пойму как работать с entity

в мапперах описал 2 селекта
на подобии
public function getTable1() {
        $sql = " select  * from table1";
		if ($aRows=$this->oDb->select($sql)) {
 			foreach ($aRows as $aRow) {
				$tmp = Engine::GetEntity('PluginClans_ModuleClans_EntityTable1',$aRow);			
				$aResult[] = $tmp;
			} 
			return $aResult;
			}
		else {
			return null;
		}
}
   public function getTable2() {
        $sql = " select  * from table2";
		if ($aRows=$this->oDb->select($sql)) {
 			foreach ($aRows as $aRow) {
				$tmp = Engine::GetEntity('PluginClans_ModuleClans_EntityTable1',$aRow);			
				$aResult[] = $tmp;
			} 
			return $aResult;
			}
		else {
			return null;
		}
}


каждый селект из разных таблиц
для каждой таблицы описан entity
class PluginClans_ModuleClans_EntityTable1 extends Entity 
{
	
	public function getId() {
		return $this->_aData['id'];}
	public function getName() {
		return $this->_aData['name'];	}
	
public function setId($data) {
		$this->_aData['id'] = $data;	}
public function setName($data) {
		$this->_aData['name'] = $data;	}}

class PluginClans_ModuleClans_EntityTable2 extends Entity 
{
	
	public function getId() {
		return $this->_aData['id'];	}
	public function getName() {
		return $this->_aData['name'];}
	public function getTbl1id() {
		return $this->_aData['Tbl1id'];	}
	
public function setId($data) {
		$this->_aData['id'] = $data;	}
public function setName($data) {
		$this->_aData['name'] = $data;}
public function setTbl1id($data) {
		$this->_aData[Tbl1id'] = $data;}}


подскажите пожалуйста как теперь можно при выводе в шаблоне подставлять вместо Tbl1id из table2 name из table1
или есть какой то другой способ их объединить не делая один общий запрос?

5 комментариев

avatar
к мапперу обращается только модуль
к модулю может обращаться энтитя
такая схема.
avatar
$tmp = Engine::GetEntity('PluginClans_ModuleClans_EntityTable1',$aRow); 

очередной плагин кланваров? )
avatar
угу, взял за основу этот плагин
но решил довести его до другого вида
avatar
давайте по другому сформулирую

ну вот например чтобы вывести name для всех элементов
надо писать
{foreach from=$var item=x}
{$x->getIdent()}{$x->getName()}
{/foreach}

выведет
1 зеленое
2 спелая

в шаблон так же передаю массив
$var2 который содержит определения для Ident
т.е. для 1 будет соотвествовать яблоко а для 2 груша
как в шаблоне произвести такую подстановку?

если делать через обычный php получилось бы чтото ввиде

(foreach $var as $x)
$var2[$x[`ident`]] $x[`name`]
{/froeach}
avatar
обращение к ключу массива через "."
должно получиться что-то типа.

{foreach from=$var item=x}
{assign var=ident value=$x.ident}
{$var2.`$ident`} {$x.name}
{/froeach}
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.