Привет, начал недавно изучать php и начал с livesteet, все очень нравится но функционала для моего проекта недостаточно. Тут же решил изучить внутренности и сделал свой модуль Invite, (он делает не то что вы подумали). Все вроде бы работает, но с последней добавленной функцией никак не могу разобраться.
Так вот, часть кода:
invite.class.php
public function GetUserInvite($uId) {
return $this->oMapper->GetUserInvite($uId);
}
А вот эта же функция в маппере.
invite.mapper.class.php
public function GetUserInvite($uid) {
$sql = "SELECT *
FROM ".Config::Get('db.table.blog_invite')."
WHERE `user_to`=?d AND `invite_status`=2
LIMIT 1";
if ($aRow = $this->oDb->selectRow($sql,$uid)) {
return Engine::GetEntity('Invite',$aRow);
}
return null;
}
А вот её же я засунул в user.entity, знаю что так делают только раки ^_^
Просто я в php новичек еще, и не смог сделать нормальный вызов через шаблон, а так как там уже есть oCurrentUser, вызывают эту функцию оттуда (oCurrentUser->getUserInvite)
Эта функция просто вызывает самую первую функцию описанную в этом топике.
public function getUserInvite($uId) {
return $this->Invite_GetUserInvite($uId);
}
Ну и наконец вот в чем проблема.
В шаблоне
header_top.tpl делаю вызов той функции через пользователя
{assign var="oInvite" value=$oUserCurrent->getUserInvite($oUserCurrent->getId())}
//чуть ниже в разметки шаблона
<li style="color:white">
Вы приглашены в проект #{$oInvite->getBlogId()}
</li>
Ну и в результате браузер в консоль пишет вот это:
<li style="color:white"> Вы приглашены в проект #<!--error--><br />
<b>Fatal error</b>: Call to a member function getBlogId() on a non-object in <b>Z:\home\localhost\www\templates\compiled\synio\19049a0d144341a2ec6ade7e3aa1719fe0a87ad1.file.header_top.tpl.php</b> on line <b>61</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script>
т.е намекает что возвращается там не объект насколько я понял, хотя должен возвращаться именно он.
Вот напоминаю (
return Engine::GetEntity('Invite',$aRow);
)
Помогите пожалуйста разобраться в чем проблема.