我有一个模型App,在我的控制器中我创建了代码:
$phql = "SELECT a.* FROM App a";
$app = $this->modelsManager->executeQuery($phql);
$this->view->setVar('apps', $app);
此代码有效,但是,如果我将语句更改为:
$phql = "SELECT a.name_app FROM App a";
或
$phql = "SELECT a.getNameApp() FROM App a";
或
$phql = "SELECT a.getNameApp FROM App a";
不能正常工作。
在我的表中,该列名为name_app,在我的模型getAppName中,因为它被声明为protect。
为什么a.name_app,a.getNameApp()或a.getNameApp不起作用?
错误消息:
使用a.name_app
致命错误:调用未定义的方法Phalcon \ Mvc \ Model \ Row :: getNameApp()
使用a.getNameApp()
语法错误,意外令牌(,接近')FROM App a',解析时:SELECT a.getNameApp()FROM App a(32)
并使用a.getNameApp
列' getNameApp'在执行时不属于模型或别名' a'执行以下操作:SELECT a.getNameApp FROM App a