StM7

Рейтинг
0
Регистрация
28.11.2014

Не работает по следующей причине:

Не обьявлен class ObjectProperty/

т.е. вот так надо в

EditAction(){

userTable = $this->getServiceLocator()->get('UserTable');

$user = $userTable->getUser($this->params()->fromRoute('id'));

$form = $this->getServiceLocator()->get('UserEditForm');

$form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty());

$form->bind($user);

if ($form->isValid()) {

$id = $this->getAlbumTable()->saveAlbum($form->getData());

}

$viewModel = new ViewModel(array(

'form' => $form,

'user_id' => $this->params()->fromRoute('id')

));

return $viewModel;

}

если добавить $form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty());

все начинает работать.

Каким образом у Вас совпадут md5()?

Если совпал с картинкой, то эта таже картинка и не стоит её дублировать, и отправляем её в temp на всякий пожарный, на сутки например, мало ли.

Вот и все.

РЕШЕНО!

Вообщем никто мне не помог, промучился и нашел ответ сам.

Ну почти сам. Надеюсь когда-нибудь кому-нибудь пригодится.

Вот ответ на вопрос:

'UserTableGateway' => function ($sm){

$dbAdapter = $sm->get('\Zend\Db\Adapter\Adapter');

$resultSetPrototype = new ResultSet();

$resultSetPrototype->setArrayObjectPrototype(new User());

return new TableGateway('user', $dbAdapter, null, $resultSetPrototype);

},

Использует класс: User(), в котором определены след методы:

<?php

namespace Users\Model;

class User{

public $id;

public $name;

public $email;

public $password;

public function setPassword($clear_password){

$this->password = md5($clear_password);

}

public function exchangeArray($data){

$this->name = (isset($data['name'])) ? $data['name'] : null;

$this->email = (isset($data['email'])) ? $data['email'] : null;

if(isset($data['password'])){

$this->setPassword($data['password']);

}

}

}

Добавляем

$this->id = (isset($data['id'])) ? $data['id'] : null;

перед.

Все инециализировали и id больше не null, ну пока существет естественно.

$this->name = (isset($data['name'])) ? $data['name'] : null;