Я пытаюсь использовать ORM RedBeanPHP (v3.3) в приложении ZF2 (v2.0.2), и у меня возникают проблемы с его автоматической моделью FUSE. Я не могу сделать ссылку на мои классы моделей. Он не собирает их автоматически и вместо этого использует «обычные» бобы.
Я использую модуль RjhRedbean для загрузки RedBean в ZF2.
Мой класс модели следующий, помещенный в папку .\module\Check\src\Check\Model\Model
.
<?php
namespace Check\Model;
use \RedBean_SimpleModel;
class Model_Check extends RedBean_SimpleModel
{
public $id;
public $type;
...
public function open()
{
}
public function toArray()
{
return array($this->id, $this->type);
}
Подтверждаю, автозагрузчик подхватил, так как $c = new Model_Check();
работает.
Мой код контроллера, пытающийся загрузить все объекты модели Check
из БД:
<?php
namespace Check\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Zend\View\Model\JsonModel;
use RjhRedbean;
use Check\Model\Model_Check;
class CheckController extends AbstractActionController
{
public function listAction()
{
$rb = $this->getServiceLocator()->get('RjhRedbean');
$checks = $rb->findAll('Check'); // does not link to my Model object
foreach ($checks as $check) {
$ar = $check->toArray(); // does not exist in the objects returned
...
Возвращаемые объекты: RedBean_OODBBean
Что я должен указать в качестве имени компонента в методе findAll()
? Я пытался:
$checks = $rb->findAll('Model_Check');
$checks = $rb->findAll('Check/Model/Check');
$checks = $rb->findAll('Check/Model/Model_Check');
Кажется, ничего не помогает. При создании bean-компонента у меня тоже возникают те же проблемы...
Спасибо.