我正在尝试在 ZF2 (v2.0.2) 应用程序中使用 ORM RedBeanPHP (v3.3),但我在使用其自动 FUSE 模型时遇到了问题。我不能让它链接到我的模型类。它不会自动拾取它们,而是使用“常规”bean。
我正在使用RjhRedbean模块在 ZF2 中加载 RedBean。
我的模型类如下,放在文件夹中.\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()
方法中输入什么作为 bean 名称?我试过:
$checks = $rb->findAll('Model_Check');
$checks = $rb->findAll('Check/Model/Check');
$checks = $rb->findAll('Check/Model/Model_Check');
似乎没有什么办法。创建bean时,我也遇到了同样的问题......
谢谢。