Неустранимая ошибка: вызов функции-члена trigger () для необъекта в ... / model.php в строке 2106 при запуске в качестве CakeTestCase - PullRequest
2 голосов
/ 02 марта 2011

Я новичок в PHP, CakePHP и инфраструктуре модульного тестирования CakePHP для 1.3.

Я создал простой тестовый пример модели и столкнулся с этой ошибкой:

Неустранимая ошибка: вызов функции-члена триггера () для необъекта в /Users/calvinc/Sites/lhasa/web/cake/libs/model/model.php в строке 2106

Я заметил, что строка 2106 в model.php выглядит следующим образом:

  if ($query['callbacks'] === true || $query['callbacks'] === 'before') {
      $return = $this->Behaviors->trigger($this, 'beforeFind', array($query), array(

Я предполагаю, что Поведение не настроено.Что может быть причиной этого?

Вот дамп объекта Login.

[Wed Mar 02 11:06:26 2011] [error] [client 127.0.0.1] Объект Login([actAs] => Массив ([0] => Содержимое)

[utcOffset] => 8
[useDbConfig] => default
[useTable] => 
[displayField] => 
[id] => 
[data] => Array
    (
    )

[table] => 
[primaryKey] => 
[_schema] => 
[validationErrors] => Array
    (
    )

[tablePrefix] => 
[name] => 
[alias] => 
[tableToModel] => Array
    (
    )

[logTransactions] => 
[cacheQueries] => 
[belongsTo] => Array
    (
    )

[hasOne] => Array
    (
    )

[hasMany] => Array
    (
    )

[hasAndBelongsToMany] => Array
    (
    )

[Behaviors] => 
[whitelist] => Array
    (
    )

[cacheSources] => 1
[findQueryType] => 
[recursive] => 1
[order] => 
[virtualFields] => Array
    (
    )

[__associationKeys] => Array
    (
        [belongsTo] => Array
            (
                [0] => className
                [1] => foreignKey
                [2] => conditions
                [3] => fields
                [4] => order
                [5] => counterCache
            )

        [hasOne] => Array
            (
                [0] => className
                [1] => foreignKey
                [2] => conditions
                [3] => fields
                [4] => order
                [5] => dependent
            )

        [hasMany] => Array
            (
                [0] => className
                [1] => foreignKey
                [2] => conditions
                [3] => fields
                [4] => order
                [5] => limit
                [6] => offset
                [7] => dependent
                [8] => exclusive
                [9] => finderQuery
                [10] => counterQuery
            )

        [hasAndBelongsToMany] => Array
            (
                [0] => className
                [1] => joinTable
                [2] => with
                [3] => foreignKey
                [4] => associationForeignKey
                [5] => conditions
                [6] => fields
                [7] => order
                [8] => limit
                [9] => offset
                [10] => unique
                [11] => finderQuery
                [12] => deleteQuery
                [13] => insertQuery
            )

    )

[__associations] => Array
    (
        [0] => belongsTo
        [1] => hasOne
        [2] => hasMany
        [3] => hasAndBelongsToMany
    )

[__backAssociation] => Array
    (
    )

[__insertID] => 
[__numRows] => 
[__affectedRows] => 
[_findMethods] => Array
    (
        [all] => 1
        [first] => 1
        [count] => 1
        [neighbors] => 1
        [list] => 1
        [threaded] => 1
    )

)

1 Ответ

2 голосов
/ 07 апреля 2012

Я думаю, что ваша проблема ... это моя проблема.Итак ... моя проблема заключалась в том, что внутри моей модели был метод с тем же именем, что и у моей модели.

class Ranking extends AppModel {
   function ranking($a)....
}

Это заставляло PHP интерпретировать функцию как конструктор, поэтому конструктор AppModel былне вызывается.И наша модель действительно не правильно данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...