2017-07-13 1 views
1

PhalconPHP経由でMongoDBからPhalcon \ Mvc \ Modelを使用してWebサイトの設定を取得しようとしています。ここに私のモデルです:PhalconPHP ORM gettypeエラー

namespace CMS4\Common\Model; 

use Phalcon\Mvc\Model as MongoDocument; 

class Settings extends MongoDocument 
{ 
     /** 
     * 
     * @var \MongoId 
     */ 
     protected $id; 

     /** 
     * 
     * @var int 
     */ 
     public $websiteId; 

     /** 
     * 
     * @var array[] 
     */ 
     public $leUserConfig; 

     public function initialize() 
     { 
       $this->setConnectionService('mongo'); 
     } 

     /** 
     * By default that model will refer to `WebsiteSettings`, wherefore getSource is implemented 
     * @return string 
     */ 
     public function getSource() 
     { 
       return 'WebsiteSettings'; 
     } 
} 

しかし、$test = Settings::find();を経由して、それを呼び出して、私は次のRuntimeExceptionを得る:未定義のメソッドへ

コール::はgettype()

私はこれがどこかで使用されていると思いますPhalconPHPの内部では、ソースコードを一見しても私はどこにも行きませんでした。私はアイデアがありません、助言してください。より多くの情報を提供する必要がある場合は、そう言います。

+0

私の知識にあなたはPRIMARY_KEY、あるいは条件により検索しようとしたり、where句されている場合を見つけるために何かを渡す必要があります... https://olddocs.phalconphp.com/en/3.0.1/reference/odm.html – Gunnrryy

+0

Mongoで作業する場合は、ModelではなくPhalcon \ Mvc \ Collectionを拡張する必要があります。 コレクションとphalcon odmの使用方法の詳細については、こちらをご覧ください。 https://docs.phalconphp.com/en/3.2/db-odm –

+0

@Armon Bighamが働いてくれてありがとう。私はそれを受け入れられた答えとしてどのように追加できますか?コメントの代わりに答えとして追加する必要がありますか? –

答えて

0

Phalcon FrameworkでMongo Collectionを照会するときは、ORMの代わりにODMを使用する必要があります。したがって、Modelクラスの代わりにCollectionクラスを使用する必要があります。あなたがこれを設定し、ここではこれらの機能を使用する方法の詳細を知ることができます

https://docs.phalconphp.com/en/3.2/db-odm

関連する問題