Kohana 3.2 ORM PDO:Model上的“属性id不存在”。错误?

时间:2012-03-20 12:01:46

标签: php orm kohana

当通过Kohana中的PDO连接到SQLite数据库时,我不断收到以下错误:

  

Model_Container中不存在属性id。

该列存在于数据库中。

当在模型上将$ id设置为公共属性时,错误消失,一切正常(也像MySQL数据库中的魅力一样)。

任何想法?

感谢您的快速回答!

澄清: 我的模型看起来有点像这样:

<?php defined('SYSPATH') or die('No direct script access.');

class Model_Container extends Model_App_Base {

    protected $_table_name = 'containers';

    protected $_table_columns = array(
        'active' => 'BOOL DEFAULT 1',
        'sorting_id' => 'INT(255)',
        'uid' => 'VARCHAR(255)',
        'name' => 'VARCHAR(255)',
        'area' => 'VARCHAR(50)'
    );

}

Model_App_Base中的例程创建所需的表并添加“id INT AUTO_INCREMENT”

当我使用导致错误的属性扩展我的模型时:

public $id;

它按预期工作,但我不想让它们宣布双倍!

我会尝试一些东西,也许我会弄清楚自己!

1 个答案:

答案 0 :(得分:0)

您需要在模型上设置列名称。 PDO无法自己获取列名。我想你想要http://kohanaframework.org/3.2/guide/api/ORM#property:_table_columns