Find () и fetchAll () не работают в Zend Framework 1

Может ли кто-нибудь подсказать мне, что не так с моим кодом? Хотя вставить (), обновить () и удалить () работают абсолютно нормально. Это мой первый проект на платформе Zend, и я возился с ним последние два дня и не понимаю, что на самом деле с ним не так. Я использую Zend Framework 1.

Это мое функциональное тело.

public function getMenuCategoryById(Application_Model_MenuCategories $MenuCategory) {
        $where = array(
            'mc_id' => (int) $MenuCategory->__get('mc_id')
        );
        $result = $this->_db_table->find($where);
        echo '<pre';
        print_r($result);
        die();
        if (count($result) == 0) {
            return false;
        }
        $row = $result->current();
        $menuCategory = new Application_Model_MenuCategories($row);
        return $menuCategory;
    }

Это не возвращает строки. Вместо этого он дает Zend_Db_Table_Rowset bject, как показано ниже:

Zend_Db_Table_Rowset Object (
     [_data:protected] => Array
         (
         )

     [_table:protected] => Application_Model_DbTable_MenuCategories Object
         (
             [_name:protected] => menu_categories
             [_definition:protected] => 
             [_definitionConfigName:protected] => 
             [_db:protected] => Zend_Db_Adapter_Pdo_Mysql Object
                 (
                     [_pdoType:protected] => mysql
                     [_numericDataTypes:protected] => Array
                         (
                             [0] => 0
                             [1] => 1
                             [2] => 2
                             [INT] => 0
                             [INTEGER] => 0
                             [MEDIUMINT] => 0
                             [SMALLINT] => 0
                             [TINYINT] => 0
                             [BIGINT] => 1
                             [SERIAL] => 1
                             [DEC] => 2
                             [DECIMAL] => 2
                             [DOUBLE] => 2
                             [DOUBLE PRECISION] => 2
                             [FIXED] => 2
                             [FLOAT] => 2
                         )

                     [_defaultStmtClass:protected] => Zend_Db_Statement_Pdo
                     [_config:protected] => Array
                         (
                             [dbname] => test_db
                             [host] => localhost
                             [username] => root
                             [password] => Password@123
                             [charset] => 
                             [persistent] => 
                             [options] => Array
                                 (
                                     [caseFolding] => 0
                                     [autoQuoteIdentifiers] => 1
                                     [fetchMode] => 2
                                 )

                             [driver_options] => Array
                                 (
                                 )

                         )

                     [_fetchMode:protected] => 2
                     [_profiler:protected] => Zend_Db_Profiler Object
                         (
                             [_queryProfiles:protected] => Array
                                 (
                                 )

                             [_enabled:protected] => 
                             [_filterElapsedSecs:protected] => 
                             [_filterTypes:protected] => 
                         )

                     [_defaultProfilerClass:protected] => Zend_Db_Profiler
                     [_connection:protected] => PDO Object
                         (
                         )

                     [_caseFolding:protected] => 0
                     [_autoQuoteIdentifiers:protected] => 1
                     [_allowSerialization:protected] => 1
                     [_autoReconnectOnUnserialize:protected] => 
                 )

             [_schema:protected] => 
             [_cols:protected] => Array
                 (
                     [0] => mc_id
                     [1] => category_name
                 )

             [_primary:protected] => Array
                 (
                     [1] => mc_id
                 )

             [_identity:protected] => 1
             [_sequence:protected] => 1
             [_metadata:protected] => Array
                 (
                     [mc_id] => Array
                         (
                             [SCHEMA_NAME] => 
                             [TABLE_NAME] => menu_categories
                             [COLUMN_NAME] => mc_id
                             [COLUMN_POSITION] => 1
                             [DATA_TYPE] => int
                             [DEFAULT] => 
                             [NULLABLE] => 
                             [LENGTH] => 
                             [SCALE] => 
                             [PRECISION] => 
                             [UNSIGNED] => 
                             [PRIMARY] => 1
                             [PRIMARY_POSITION] => 1
                             [IDENTITY] => 1
                         )

                     [category_name] => Array
                         (
                             [SCHEMA_NAME] => 
                             [TABLE_NAME] => menu_categories
                             [COLUMN_NAME] => category_name
                             [COLUMN_POSITION] => 2
                             [DATA_TYPE] => varchar
                             [DEFAULT] => 
                             [NULLABLE] => 
                             [LENGTH] => 255
                             [SCALE] => 
                             [PRECISION] => 
                             [UNSIGNED] => 
                             [PRIMARY] => 
                             [PRIMARY_POSITION] => 
                             [IDENTITY] => 
                         )

                 )

             [_metadataCache:protected] => 
             [_metadataCacheInClass:protected] => 1
             [_rowClass:protected] => Zend_Db_Table_Row
             [_rowsetClass:protected] => Zend_Db_Table_Rowset
             [_referenceMap:protected] => Array
                 (
                 )

             [_dependentTables:protected] => Array
                 (
                 )

             [_defaultSource:protected] => defaultNone
             [_defaultValues:protected] => Array
                 (
                 )

         )

     [_connected:protected] => 1
     [_tableClass:protected] => Application_Model_DbTable_MenuCategories
     [_rowClass:protected] => Zend_Db_Table_Row
     [_pointer:protected] => 0
     [_count:protected] => 0
     [_rows:protected] => Array
         (
         )

     [_stored:protected] => 1
     [_readOnly:protected] =>  )
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Все в порядке - fetchAll () возвращает объект Zend_Db_Table_Rowset. Вы можете напрямую повторить его:

foreach($result as $row) {
    // $row is Zend_Db_Table_Row object
}

или преобразовать в массив:

$arrayResult = $result->toArray();

Однако дамп вашего $result показывает, что ваш запрос не соответствует ни одной строке в вашей таблице - проверьте условия $where.

Хорошо. Я пробовал это решение. Но все же у меня проблема. $ arrayResult = $ result-> toArray (); дает пустой массив. Я также пробовал с fetchAll (), но он тоже дает пустой массив. Также счетчик ($ arrayResult) дает 0.

Ankit Singh 15.10.2018 06:26

Я случайно удалил все строки из БД. Вот почему я получал эти ошибки. Виноват. : D

Ankit Singh 15.10.2018 07:19

Другие вопросы по теме