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
DB からすべてのモデル オブジェクトをロードしようとする私のコントローラー コードは次のとおりです。
<?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 を作成するときも、同じ問題が発生します...
ありがとう。