Возвращает lastInsertId контроллеру и сохраняет извлечение в сеансе

#mysql #session #zend-framework

#mysql #сеанс #zend-framework

Вопрос:

Я сохраняю журнал в datetime и другие данные $ в базе данных в моей модели и получаю идентификатор вставленной строки следующим образом:

 $db = Zend_Db_Table_Abstract::getDefaultAdapter();
$db->insert('mylog', $data);
$mylog_id =  $db->lastInsertId();
return ($mylog_id);
  

Значение $ mylog_id существует, когда я повторяю его из модели, но при возврате оказывается пустым. В моем контроллере входа в систему я хочу сохранить это значение в сеансе, чтобы я мог использовать его для установки даты и времени выхода из системы позже:

 $sessionUserAuth = new Zend_Session_Namespace('Zend_User_Auth');
$sessionUserAuth->log_id = $log_id;
  

Как мне получить $ mylog_id для сохранения его в сеансе?

Ответ №1:

Вам нужно вызвать переменную с выполнением функции, а не после, вот так: В контроллере

 $myClass = new myClass();
$mylog_id = $myClass->myfunction($data) //this is the function which returns the value
  

теперь $ mylog_id доступен в контроллере для сохранения его в сеансе.

 $sessionUserAuth->log_id = $mylog_id;