当通过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;
它按预期工作,但我不想让它们宣布双倍!
我会尝试一些东西,也许我会弄清楚自己!
答案 0 :(得分:0)
您需要在模型上设置列名称。 PDO无法自己获取列名。我想你想要http://kohanaframework.org/3.2/guide/api/ORM#property:_table_columns