Tüm nesne özellikleri kaydedilmiş olan, sadece ben eşlediyseniz alanları devam etmek mümkün mü?

0 Cevap php

Ben Doktrini (MongoDB ile) 2 ODM kullanıyorum.

Benim Belge modeli:

class Users_Model_User
{
    public $id;
    public $username;
    public $password;
    public $myRuntimeProperty = 'some value';
}

YAML Benim Belge haritalama:

Users_Model_User:
db: my_db
collection: users
fields:
    id:
        fieldName: id
        id: true
    username:
        fieldName: username
        type: string
    password:
        fieldName: password
        type: string

Benim test kodu:

$user = new Users_Model_User;
$user->username = 'hello';
$user->password = 'world';
$this->dm->persist($user);
$this->dm->flush();

$user = $this->dm->findOne('Users_Model_User', array('username' => 'hello'));

Zend_Debug::dump($user);

Benim sonuç:

object(Users_Model_User)#81 (4) {
  ["id"] => string(24) "4c1d5eb68ead0eb332000000"
  ["username"] => string(5) "hello"
  ["password"] => string(5) "world"
  ["myRuntimeProperty"] => string(10) "some value"
}

"MyRuntimeProperty" Benim belgeyle kaydedilir almaz böylece nasıl bunu yapabilirim? Benim modelleri modeli yeniden aldığında her şeyi berbat ediyor "_propertyChangedListeners" gibi şeyler de dahil olmak üzere tüm özellikleri ile kaydediliyor.

0 Cevap