Попытка получить свойство необъекта в Zend Paginator - PullRequest
1 голос
/ 07 февраля 2012

Я использую Zend Paginator в моем app.pagination работает хорошо, но я получаю эту ошибку Попытка получить свойство не-объекта в

$user = new Zend_Session_Namespace('user');
$user_id =$user->user_id;
 $DB = Zend_Db_Table_Abstract::getDefaultAdapter();
 $select = $DB->select()
     ->from(array('p' => 'phone_service'))
     ->join(array('u' => 'user_preferences'), 'u.phone_service_id = p.phone_service_id')
     ->where('u.user_preferences_name = ?', 'is_user_package_active')
     ->where('p.user_id = ?', $user_id);

     $adapter = new Zend_Paginator_Adapter_DbSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $this->view->paginator=$paginator;

, на мой взгляд, я делаю так

 foreach($this->paginator as $record){
 <td><?php echo $record->phone_service_name;?></td>
  <td><?php echo $record->phone_service_type;?></td>
  <td ><?php echo $record->phone_service_Duration;?></td>}

, который выдает следующую ошибку

Notice: Trying to get property of non-object

, когда я делаю это на мой взгляд

var_dump($this->paginator);
 [_tableCols:protected] => Array
                    (
                    )
there are no data of columns

Любой намек PLZ ???

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

Похоже, ваш запрос возвращает пустой набор записей.Чтобы отладить его, попробуйте:

$select = $DB->select()
     ->from(array('p' => 'phone_service'))
     ->join(array('u' => 'user_preferences'), 'u.phone_service_id = p.phone_service_id')
     ->where('u.user_preferences_name = ?', 'is_user_package_active')
     ->where('p.user_id = ?', $user_id);
echo $select;
die();

. Это должно привести к точному выводу запроса, отправленного mysql, и вы можете скопировать и вставить его в phpmyadmin / heidisql или что-то еще, что вы используете для управления mysql, и посмотреть, вернет ли он то, что вы ожидаете.Оттуда вы можете попытаться заставить запрос работать, а затем перенести его обратно в ваш php-код.

0 голосов
/ 27 февраля 2012
make it sure column names in DB and in your code are same.mean spelling are same
or $record['phone_service_name']
 once i got this error and the problem was i miss spell column name hope it helps
...