Zend Framework Model in Module Tablegateway pattern problem
Merhabalar, Zend Framework 1 Module yapısında model’i örnekleyip sorgu yaptığımda tablo adını bulamıyordu. Bildiğiniz gibi Zend’te Table Data Gateway patternini kullanıyor ve model dosyasını autoload ediyoruz. Bu patterne göre dosya, class ve tablo ismi aynı olmalı.
Module yapısında şöyle bir model oluşturdum ; proje/application/modules/default/models/User.php
class ismi ise şöyle;
<?php class Default_Model_User extends Zend_Db_Table
daha sonra Controller içerisinde şu şekilde örnekledim;
$user = new Default_Model_User();
Model içerisinde $this->fetchAll gibi metodları kullandığınızda size veriatabanında Default_Model_User isimli tabloyu bulamadığına dair bir hata mesajı dönderecektir. Çözümü ise gayet basit model içerisinde $_name özelliğine tablo ismini tanımladığınızda problem kalmayacaktır 🙂 Örneğin;
<?php class Default_Model_User extends Zend_Db_Table { protected $_name = 'user';
İyi örneklemeler (: