Kohana 3.2 ORM PDO: «Идентификатор свойства не существует» в Model. Ошибка? - PullRequest
0 голосов
/ 20 марта 2012

При подключении к базе данных SQLite через PDO в Кохане я получаю следующую ошибку:

Идентификатор свойства не существует в Model_Container.

Столбец существуетхотя в базе данных.

При установке $ 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 голосов
/ 20 марта 2012

Вам необходимо установить имена столбцов на модели.PDO не может получить имена столбцов самостоятельно.Я думаю, что вы хотите http://kohanaframework.org/3.2/guide/api/ORM#property:_table_columns

...