【问题标题】:Kohana 3.2 ORM PDO: "The property id does not exist" on Model. Bug?Kohana 3.2 ORM PDO:模型上的“属性 ID 不存在”。漏洞?
【发布时间】:2012-03-20 12:01:46
【问题描述】:

在 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;

它按预期工作,但我不希望它们被声明两次!

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

【问题讨论】:

    标签: php orm kohana


    【解决方案1】:

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

    【讨论】:

    • 我回答时你的问题看起来很不一样 ;)
    • 是的,虽然你的回答完全正确!谢谢,让我省了很多麻烦
    猜你喜欢
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    相关资源
    最近更新 更多