【发布时间】:2016-08-10 17:56:46
【问题描述】:
我创建了一个自定义函数,我可以从 volt 访问。该函数似乎工作正常,但我无法将变量发送到函数。它将变量作为文本而不是其值发送。
树枝功能:
$volt->getCompiler()->addFunction('getusergroup', function ($user) {
return \Models\User::getUserGroup($user);
});
模型中的函数:
public static function getUserGroup($user) {
return UserGroup::find(array('conditions' => 'user_id = ' . $user));
}
Twig 中调用函数的行:
{% for member in getusergroup(staff.id) %}
{{ member.Group.name }}
{% endfor %}
我得到的错误:
'staff->id' 解析时出现扫描错误:SELECT [Models\UserGroup].* FROM [Models\UserGroup] WHERE user_id = $staff->id (78)' (长度=131)
如您所见,$staff->id 不是整数,而是文本。
如何将实际 ID 发送到函数?
顺便说一下,我正在使用 twig 与 Phalcon 结合使用,并按照本文中的说明进行操作:http://phalcontip.com/discussion/60/extending-volt-functions
【问题讨论】: