我有两个控制器(Feeds& Items),在Items add视图中,我想要来自Feeds表的一些信息对用户可见。
因此,在项目控制器中我试图访问Feed模型,我遇到的所有内容都建议使用loadModel但是当我尝试加载Items添加视图时,我收到以下错误:
错误:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以获得在''附近使用的正确语法。第1行
SQL查询:显示来自
请注意,这两个表之间没有关系设置。
Feed模型
App::uses('AppModel', 'Model');
class Item extends AppModel {}
项目模型
App::uses('Feed','Model');
class ItemsController extends DirectResponseAppController {
function add() {
if ($this->request->is('post')) {
$this->Item->create();
if ($this->Item->save($this->request->data)) {
$this->Session->setFlash(__('Your item has been saved.'));
return $this->redirect(array('action' => 'index'));
}
$this->Session->setFlash(__('Unable to add your item.'));
} else {
$this->loadModel('Feed');
$xxx = $this->Feed->find('all');
}
}
}
项目控制器
$xxx = $this->Feed->find('all');
任何帮助表示感谢。
**编辑** 经过一番挖掘,问题似乎与这一行有关:
Team currentTeam = m_teamDao.findByAttribute("name", teamName);
我只是不确定原因。
答案 0 :(得分:1)
如果您的Feed位于插件(DirectResponse)中,则必须使用loadModel,如下所示:
$this->loadModel('DirectResponse.Feed');