У меня есть действие контроллера следующим образом public function reportcommentAction() { $comment_id = $this->getRequest()->comment_id; $blockedCommentTable = new Application_Model_DbTable_BlockedComments(); $blockedCommentTable->blockComment($comment_id, $this->user_id); } который вызывает вызов модели blockComment () dbTable, которая выглядит так: class Application_Model_DbTable_BlockedComments extends Zend_Db_Table_Abstract { protected $_name = 'blocked_comments'; public function blockComment($comment_id, $blocked_by) { if (!empty($comment_id) && !empty($blocked_by)) { $data = array( 'comment_id' => […]
У меня есть класс, который расширяет Zend_Db_Table, позволяет называть его «Пользователи», который использует класс «Пользователь» (наследующий от Zend_Db_Table_Row_Abstract) как свой rowClass. Мне это нужно, потому что у пользователя есть дополнительные методы, которые я использую. Насколько я знаю, невозможно объединить таблицы внутри класса «Мои пользователи», поэтому я использую: $ query = $ db-> select (); $ […]
У меня есть столбец VARCHAR (4), который получает данные от ввода, который может быть выше 4 символов. Это нормально, и я позволил MySQL естественно (или так я думал) отрезать конец символов. Как ни странно, когда я просматриваю результаты строки базы данных позже в PHP (используя драйвер PDO), отображается вся строка, а не только 4 символа. […]
Я изучаю zf2, и у меня возникла проблема с участием 2 (в конечном итоге больше) модулей, работающих вместе. Заметьте, я внимательно прочитал этот пост (и связанный с ним), который мне очень помог. Я немного объясню проблему: Используя первый модуль (FrOption), администратор может управлять настройками формы сайта. Все параметры хранятся в таблице db следующим образом: Идентификатор […]
Я пытаюсь удалить запись с помощью действия удаления, используя модель среды zend. Я все еще не могу понять, почему его не удалять, а $ model-> delete () всегда возвращает ноль. (0) это мой код удаления. public function deleteAction() { if ($this->getRequest()->isGet()) { $id = $this->getRequest()->getParam('id'); if (!empty($id)) { $id = $this->getRequest()->getPost('id'); $post = new Application_Model_Post(); […]
Я использую Zend Framework для своих PHP-разработок, и вот небольшая функция, которую я использовал для выполнения запроса. Речь идет не об ошибке. Код и все работает отлично. Но я хочу знать некоторые концепции этого. /** * Get dataset by executing sql statement * * @param string $sql – SQL Statement to be executed * * […]
Я довольно новичок в Zend Framework и MVC, и я немного смущен Zend_DB и правильный способ взаимодействия с базой данных. Я использую адаптер PDO MySQL и создал несколько классов для расширения абстрактных классов: class Users extends Zend_Db_Table_Abstract { protected $_name = 'users'; protected $_primary = 'user_id'; protected $_rowClass = 'User'; public function getUserbyID($id) { /* […]
Я вставляю новую строку в свою базу данных с помощью этого кода: $data = array( 'key' => 'value' ); $this->getDbTable()->insert($data); Как я могу получить идентификатор строки этой строки, которую я только что создал?
Эта постоянная война продолжается в моих мыслях, когда я работаю над проектом Zend Framework – хороший дизайн приложения требует, чтобы количество запросов к базе данных было сведено к минимуму. Каждый запрос является дорогостоящим с точки зрения как времени ожидания, так и времени вычисления РСУБД. И Zend_Db_Table поощряет вас делать много запросов – нет встроенного способа […]
Я пытался получить заказ на вызов ASC / DESC для поля (скажем, craeted), и я не могу понять, как это сделать в ZF2. Где я иду не так? .. namespace Todo\Model; class TodoTable extends AbstractTableGateway { public function __construct(Adapter $adapter) { $this->adapter = $adapter; $this->resultSetPrototype = new ResultSet(); $this->resultSetPrototype->setArrayObjectPrototype(new Todo()); $this->initialize(); } public function fetchAll() […]