![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam pytanie dotyczące błędu. gdy chcę dodać do bazy danych wpis poprzez funkcję: Kod public function saveNewReferer($refererData) { $referer = new Referer(); $referer->exchangeArray($refererData); $mockTableGateway = $this->getMock('Zend\Db\TableGateway\TableGateway', array('insert'), array(), '', false); $mockTableGateway->expects($this->once())->method('insert')->with($refererData); $refererTable = new RefererTable($mockTableGateway); $refererTable->saveReferer($referer); } przez Kod $this->saveNewReferer(array('name'=>'name','phone'=>'1234','adres'=>'asdssss')); (przyjmuje tablice) aplikacja pada z komunikatem: Cytat Zend\Mvc\Controller\PluginManager::get was unable to fetch or create an instance for getMock w pliku Cytat /var/www/capselZend/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:518 komentując linijkami, pada na Kod $mockTableGateway = $this->getMock('Zend\Db\TableGateway\TableGateway', array('insert'), array(), '', false); w klasie referer używam: Kod namespace Referer\Controller; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; use Zend\Http\Header\SetCookie; use Referer\Form\RefererForm; use Zend\Db\TableGateway\TableGateway; use Referer\Model\Referer; use Referer\Model\RefererTable; początek funkcji zapisującej wygląda tak: public function saveReferer(Referer $referer) { $data = array( 'name' => $referer->name, 'phone' => $referer->phone, 'adres' => $referer->adres, ); ... $this->tableGateway->insert($referer); ale gdy wprowadzam w identycznej postaci dane czyli tablica: w sposób Kod $ref=$this->getRefererTable()->saveReferer(array('name'=>'name','phone'=>'1234','adres'=>'asdssss')); do funkcji Kod public function getRefererTable() { if (!$this->refererTable) { $sm = $this->getServiceLocator(); $this->refererTable = $sm->get('Referer\Model\RefererTable'); } return $this->refererTable; } zmieniając funkcję zapisującą na: Kod public function saveReferer($referer) { ... $this->tableGateway->insert($referer); to wtedy ładnie zapisuje do bazy danych.. czy ktoś wie może jak to rozwiązać ? I jaką będę miał różnicę jak zastosuje nieszablonowy sposób zapisu danych czyli drugi przykład? Zrobię duży błąd ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 21:12 |