Ben temelde belirli kriterlere sahip tüm satırları alır bir model üzerinde statik bir yöntem 'findAll' var. Bu yöntem iyi çalışır ve ben kullanarak çağırabilirsiniz:
$m::findAll();
$ M bir değişken olarak modele adıdır. Ben çıktı bu olabilir ve doğru sonuçlar verir. Ancak,, Zend_View nesne bir değişkene bu atarken:
$this->view->viewvariable = $m::findAll();
Ben hata alıyorum:
Zend_Db_Table_Exception: Too many columns for the primary key
Herhangi bir fikir neden?
Tüm fonksiyonu bulmak:
final public static function findAll($where = false, array $options = array()) {
$object = new static();
if (!empty($options)) $options = array_merge($object->options, $options);
else $options = $object->options;
$run = $object->buildDefaultSelect($where, $options);
$rows = $run->fetchAll();
if ($options['asObject'] == true) {
$result = array();
foreach ($rows as $r) {
$class = new static();
$class->setInfo($r);
$result[] = $class;
}
return $result;
} else {
if (count($rows) > 0) return $rows;
else return array();
}
}
Note: This function works fine her yerde ayrı bir görünüm değişkene atarken. Ben aşağıda (bir görünüm değişkene atama değil) çalıştırırsanız, doğru dizi verileri gösterir.
var_dump($m::findAll($module['where'], $module['options']));
exit;
Benim görüşüme göre (bu yazının uğruna viewvariable ile gerçek adını değiştirdim):
<?php foreach($this->viewvariable as $item) { ?>
//Do some echoing of data in $item
//Close foreach