CakePHP2.1 find('all')在返回Array中找不到ModelName

时间:2012-08-17 09:34:26

标签: cakephp

我在cakePHP中执行了以下查询:$this->{ModelName}->find('all'),它返回了一个这样的数组:

Array
(
    [0] => Array
        (
            [0] => Array  // ModelName
                (
                    [id] => 83
                    [field1] => value1
                    [field2] => value2
                    [field3] => value3
                )
        )
    [1] => Array
        (
           ...
        )
)

而不是正确的显示应该是这样的:

Array
(
    [{ModelName}] => Array
        (
            [0] => Array  // ModelName
                (
                    [id] => 83
                    [field1] => value1
                    [field2] => value2
                    [field3] => value3
                )
        )
    [{ModelName}] => Array
        (
           ...
        )
)

CakePhp版本是2.1

答:不要使用PDO_MYSQL-1.0.2.tgz,请使用--with-pdo-mysql。

1 个答案:

答案 0 :(得分:0)

您能否检查一下您的服务器是否符合cakephp的最低要求?

  

要求

     

  • HTTP Server。例如:Apache。 mod_rewrite是首选,但绝不是必需的。
  •   
  • PHP 5.2.8或更高版本。
  •      

    从技术上讲,不需要数据库引擎,但我们想象大多数应用程序都会使用一个。 CakePHP支持各种数据库存储引擎:   

  • MySQL(4或更高版本)
  •   
  • 的PostgreSQL
  •   
  • Microsoft SQL Server
  •   
  • SQLite的
  •   注意:   内置驱动程序都需要PDO。您应该确保安装了正确的PDO扩展。

    http://book.cakephp.org/2.0/en/installation.html#Requirements

    您可以在php phpinfo()的内置函数中查看当前版本。只需在任何页面中书写即可。还要检查你的php.ini文件,看看你正在使用的数据库的pdo扩展是否正确安装