【问题标题】:How to call user defined custom methods in model cakephp2.10如何在模型 cakephp2.10 中调用用户定义的自定义方法
【发布时间】:2018-09-12 10:12:50
【问题描述】:

如何从控制器调用模型中已创建的自定义操作

在 cakephp1.x 版本中似乎运行良好。但是当我尝试将其升级到 cakphp2.10 时,方法不起作用,显示以下错误

数据库错误错误:SQLSTATE[42000]:语法错误或访问 违规:1064 您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本以获得正确的语法 在第 1 行的“getChildCategory”附近使用

我的代码是

控制器调用

$this->loadModel('Category');

$childCategories = $this->Category->getChildCategory();

模型功能

App::uses('AppModel', 'Model');

class Category extends AppModel {

var $name = 'Category';
var $displayField = 'Category_cname';

public function getChildCategory()
{
     $Db = ConnectionManager::getDataSource($this->useDbConfig);

    $cattbl = $Db->fullTableName('categories');
    $dat    =   $this->query("select yt.cname,yt.id
from $cattbl yt
where not exists (select null from $cattbl where parent_id = yt.id) LIMIT 0,10");
    return $dat;

}

}

非常感谢任何帮助!

【问题讨论】:

  • 你的 SQL 语法有错误;
  • 表示你的查询有语法错误。请检查一下。
  • 我注释了方法内的所有代码并再次尝试但显示相同的错误。我的方法声明中有语法问题吗???
  • $this->Category 不是您定义该方法的类的实例。 stackoverflow.com/a/27176539/1392379
  • 不,我在“类别”模型中创建了该方法。请检查更新的型号代码。

标签: php cakephp cakephp-2.0


【解决方案1】:

问题是由于型号名称不正确,我的型号名称是“类别”,我将其更改为“类别”。现在问题解决了

【讨论】:

    猜你喜欢
    • 2017-04-01
    • 2013-07-17
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多