Метод as_array () не работает с несколькими результатами - PullRequest
0 голосов
/ 07 октября 2011

Я использую idiorm в качестве библиотеки ORM, а метод as_array () не работает с несколькими строками.

$ p = $ db-> find_many () -> as_array ();

это дает мне эту ошибку

Fatal error: Call to a member function find_many() on a non-object in

Ответы [ 2 ]

0 голосов
/ 07 октября 2011

Согласно документации idiorm:

Любая цепочка методов, которая заканчивается в find_many (), возвращает массив ORM экземпляры классов, по одному для каждой строки, соответствующей вашему запросу. Если нет строк были найдены, будет возвращен пустой массив.

Итак, по сути, вы пытаетесь вызвать метод для массива, который не является объектом, и, следовательно, является фатальной ошибкой. То, что вам нужно сделать, если вы хотите, чтобы ваши строки были массивами, - это циклически проходить через каждый из элементов массива find_many() и преобразовывать их в массив с отдельными вызовами as_array(). Или используйте функцию http://lt.php.net/array_map.

0 голосов
/ 07 октября 2011

on a non-object в этом случае означает, что объект $db не был инициализирован. Убедитесь, что вы правильно инициализируете переменную с помощью вызова типа $db = new ORM;.

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