mirror of
https://github.com/doctrine/mongodb-odm.git
synced 2026-03-23 22:42:15 +01:00
Use attributes in tests (#2596)
* Use attributes for tests * Use attributes for benchmark * Use attributes in tools/sandbox/Documents * Change more annotations to attributes * Ignore known SA errors
This commit is contained in:
@@ -6,7 +6,7 @@ namespace Doctrine\ODM\MongoDB\Benchmark;
|
||||
|
||||
use Doctrine\ODM\MongoDB\Configuration;
|
||||
use Doctrine\ODM\MongoDB\DocumentManager;
|
||||
use Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver;
|
||||
use Doctrine\ODM\MongoDB\Mapping\Driver\AttributeDriver;
|
||||
use MongoDB\Client;
|
||||
use MongoDB\Model\DatabaseInfo;
|
||||
use PhpBench\Benchmark\Metadata\Annotations\BeforeMethods;
|
||||
@@ -80,8 +80,8 @@ abstract class BaseBench
|
||||
}
|
||||
}
|
||||
|
||||
protected static function createMetadataDriverImpl(): AnnotationDriver
|
||||
protected static function createMetadataDriverImpl(): AttributeDriver
|
||||
{
|
||||
return AnnotationDriver::create(__DIR__ . '/../tests/Documents');
|
||||
return AttributeDriver::create(__DIR__ . '/../tests/Documents');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -790,6 +790,16 @@ parameters:
|
||||
count: 1
|
||||
path: tests/Doctrine/ODM/MongoDB/Tests/Functional/NestedDocumentsTest.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\$discriminatorMap of attribute class Doctrine\\\\ODM\\\\MongoDB\\\\Mapping\\\\Annotations\\\\ReferenceOne constructor expects array\\<string, class\\-string\\>\\|null, array\\<string, string\\> given\\.$#"
|
||||
count: 1
|
||||
path: tests/Doctrine/ODM/MongoDB/Tests/Functional/TargetDocumentTest.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\$targetDocument of attribute class Doctrine\\\\ODM\\\\MongoDB\\\\Mapping\\\\Annotations\\\\ReferenceOne constructor expects class\\-string\\|null, string given\\.$#"
|
||||
count: 1
|
||||
path: tests/Doctrine/ODM/MongoDB/Tests/Functional/TargetDocumentTest.php
|
||||
|
||||
-
|
||||
message: "#^Property Doctrine\\\\ODM\\\\MongoDB\\\\Tests\\\\Functional\\\\Ticket\\\\GH1058PersistDocument\\:\\:\\$id is never written, only read\\.$#"
|
||||
count: 1
|
||||
|
||||
@@ -391,6 +391,11 @@
|
||||
<code><![CDATA[['upsert' => true]]]></code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="tests/Doctrine/ODM/MongoDB/Tests/Functional/TargetDocumentTest.php">
|
||||
<UndefinedClass>
|
||||
<code><![CDATA[['Foo' => 'Doctrine\ODM\MongoDB\Tests\Functional\SomeInvalidClass']]]></code>
|
||||
</UndefinedClass>
|
||||
</file>
|
||||
<file src="tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket/GH1011Test.php">
|
||||
<InvalidArgument>
|
||||
<code><![CDATA[$doc->embeds]]></code>
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace Doctrine\ODM\MongoDB\Tests;
|
||||
|
||||
use Doctrine\ODM\MongoDB\Configuration;
|
||||
use Doctrine\ODM\MongoDB\DocumentManager;
|
||||
use Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver;
|
||||
use Doctrine\ODM\MongoDB\Mapping\Driver\AttributeDriver;
|
||||
use Doctrine\ODM\MongoDB\Tests\Query\Filter\Filter;
|
||||
use Doctrine\ODM\MongoDB\UnitOfWork;
|
||||
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
|
||||
@@ -116,7 +116,7 @@ abstract class BaseTestCase extends TestCase
|
||||
|
||||
protected static function createMetadataDriverImpl(): MappingDriver
|
||||
{
|
||||
return AnnotationDriver::create(__DIR__ . '/../../../../Documents');
|
||||
return AttributeDriver::create(__DIR__ . '/../../../../Documents');
|
||||
}
|
||||
|
||||
protected static function createTestDocumentManager(): DocumentManager
|
||||
|
||||
@@ -231,59 +231,38 @@ class DocumentManagerTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class WrongSimpleRefDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=Documents\Tournament\Participant::class, storeAs="id")
|
||||
*
|
||||
* @var Participant|null
|
||||
*/
|
||||
/** @var Participant|null */
|
||||
#[ODM\ReferenceOne(targetDocument: Participant::class, storeAs: 'id')]
|
||||
public $ref;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class ReferenceStoreAsDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=User::class, storeAs="id")
|
||||
*
|
||||
* @var User|null
|
||||
*/
|
||||
/** @var User|null */
|
||||
#[ODM\ReferenceOne(targetDocument: User::class, storeAs: 'id')]
|
||||
public $ref1;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=User::class, storeAs="dbRef")
|
||||
*
|
||||
* @var Collection<int, User>
|
||||
*/
|
||||
/** @var Collection<int, User> */
|
||||
#[ODM\ReferenceOne(targetDocument: User::class, storeAs: 'dbRef')]
|
||||
public $ref2;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=User::class, storeAs="dbRefWithDb")
|
||||
*
|
||||
* @var Collection<int, User>
|
||||
*/
|
||||
/** @var Collection<int, User> */
|
||||
#[ODM\ReferenceOne(targetDocument: User::class, storeAs: 'dbRefWithDb')]
|
||||
public $ref3;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=User::class, storeAs="ref")
|
||||
*
|
||||
* @var Collection<int, User>
|
||||
*/
|
||||
/** @var Collection<int, User> */
|
||||
#[ODM\ReferenceOne(targetDocument: User::class, storeAs: 'ref')]
|
||||
public $ref4;
|
||||
}
|
||||
|
||||
@@ -246,110 +246,72 @@ class LifecycleCallbacksTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class User extends BaseDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=Profile::class)
|
||||
*
|
||||
* @var Profile|null
|
||||
*/
|
||||
/** @var Profile|null */
|
||||
#[ODM\EmbedOne(targetDocument: Profile::class)]
|
||||
public $profile;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=Profile::class)
|
||||
*
|
||||
* @var Collection<int, Profile>|array<Profile>
|
||||
*/
|
||||
/** @var Collection<int, Profile>|array<Profile> */
|
||||
#[ODM\EmbedMany(targetDocument: Profile::class)]
|
||||
public $profiles = [];
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=User::class)
|
||||
*
|
||||
* @var Collection<int, User>|array<User>
|
||||
*/
|
||||
/** @var Collection<int, User>|array<User> */
|
||||
#[ODM\ReferenceMany(targetDocument: self::class)]
|
||||
public $friends = [];
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class Cart extends BaseDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=Customer::class, inversedBy="cart")
|
||||
*
|
||||
* @var Customer|null
|
||||
*/
|
||||
/** @var Customer|null */
|
||||
#[ODM\ReferenceOne(targetDocument: Customer::class, inversedBy: 'cart')]
|
||||
public $customer;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class Customer extends BaseDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=Cart::class, mappedBy="customer")
|
||||
*
|
||||
* @var Cart|null
|
||||
*/
|
||||
/** @var Cart|null */
|
||||
#[ODM\ReferenceOne(targetDocument: Cart::class, mappedBy: 'customer')]
|
||||
public $cart;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class Profile extends BaseDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=Profile::class)
|
||||
*
|
||||
* @var Profile|null
|
||||
*/
|
||||
/** @var Profile|null */
|
||||
#[ODM\EmbedOne(targetDocument: self::class)]
|
||||
public $profile;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\MappedSuperclass
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\MappedSuperclass]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
abstract class BaseDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="date")
|
||||
*
|
||||
* @var DateTime
|
||||
*/
|
||||
/** @var DateTime */
|
||||
#[ODM\Field(type: 'date')]
|
||||
public $createdAt;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="date")
|
||||
*
|
||||
* @var DateTime|null
|
||||
*/
|
||||
/** @var DateTime|null */
|
||||
#[ODM\Field(type: 'date')]
|
||||
public $updatedAt;
|
||||
|
||||
/** @var bool */
|
||||
@@ -379,57 +341,57 @@ abstract class BaseDocument
|
||||
/** @var bool */
|
||||
public $preFlush = false;
|
||||
|
||||
/** @ODM\PrePersist */
|
||||
#[ODM\PrePersist]
|
||||
public function prePersist(Event\LifecycleEventArgs $e): void
|
||||
{
|
||||
$this->prePersist = true;
|
||||
$this->createdAt = new DateTime();
|
||||
}
|
||||
|
||||
/** @ODM\PostPersist */
|
||||
#[ODM\PostPersist]
|
||||
public function postPersist(Event\LifecycleEventArgs $e): void
|
||||
{
|
||||
$this->postPersist = true;
|
||||
}
|
||||
|
||||
/** @ODM\PreUpdate */
|
||||
#[ODM\PreUpdate]
|
||||
public function preUpdate(Event\PreUpdateEventArgs $e): void
|
||||
{
|
||||
$this->preUpdate = true;
|
||||
$this->updatedAt = new DateTime();
|
||||
}
|
||||
|
||||
/** @ODM\PostUpdate */
|
||||
#[ODM\PostUpdate]
|
||||
public function postUpdate(Event\LifecycleEventArgs $e): void
|
||||
{
|
||||
$this->postUpdate = true;
|
||||
}
|
||||
|
||||
/** @ODM\PreRemove */
|
||||
#[ODM\PreRemove]
|
||||
public function preRemove(Event\LifecycleEventArgs $e): void
|
||||
{
|
||||
$this->preRemove = true;
|
||||
}
|
||||
|
||||
/** @ODM\PostRemove */
|
||||
#[ODM\PostRemove]
|
||||
public function postRemove(Event\LifecycleEventArgs $e): void
|
||||
{
|
||||
$this->postRemove = true;
|
||||
}
|
||||
|
||||
/** @ODM\PreLoad */
|
||||
#[ODM\PreLoad]
|
||||
public function preLoad(Event\PreLoadEventArgs $e): void
|
||||
{
|
||||
$this->preLoad = true;
|
||||
}
|
||||
|
||||
/** @ODM\PostLoad */
|
||||
#[ODM\PostLoad]
|
||||
public function postLoad(Event\LifecycleEventArgs $e): void
|
||||
{
|
||||
$this->postLoad = true;
|
||||
}
|
||||
|
||||
/** @ODM\PreFlush */
|
||||
#[ODM\PreFlush]
|
||||
public function preFlush(Event\PreFlushEventArgs $e): void
|
||||
{
|
||||
$this->preFlush = true;
|
||||
|
||||
@@ -257,60 +257,39 @@ class PostCollectionLoadEventListener
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class TestDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=TestEmbeddedDocument::class)
|
||||
*
|
||||
* @var Collection<int, TestEmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, TestEmbeddedDocument> */
|
||||
#[ODM\EmbedMany(targetDocument: TestEmbeddedDocument::class)]
|
||||
public $embedded;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=Image::class)
|
||||
*
|
||||
* @var Image|null
|
||||
*/
|
||||
/** @var Image|null */
|
||||
#[ODM\EmbedOne(targetDocument: Image::class)]
|
||||
public $image;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=TestProfile::class)
|
||||
*
|
||||
* @var Collection<int, TestProfile>|array<TestProfile>
|
||||
*/
|
||||
/** @var Collection<int, TestProfile>|array<TestProfile> */
|
||||
#[ODM\ReferenceMany(targetDocument: TestProfile::class)]
|
||||
public $profiles;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=TestProfile::class)
|
||||
*
|
||||
* @var TestProfile|null
|
||||
*/
|
||||
/** @var TestProfile|null */
|
||||
#[ODM\ReferenceOne(targetDocument: TestProfile::class)]
|
||||
public $profile;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class TestEmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name = '')
|
||||
@@ -320,46 +299,31 @@ class TestEmbeddedDocument
|
||||
}
|
||||
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class TestProfile
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=Image::class)
|
||||
*
|
||||
* @var Image|null
|
||||
*/
|
||||
/** @var Image|null */
|
||||
#[ODM\EmbedOne(targetDocument: Image::class)]
|
||||
public $image;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class Image
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=Thumbnail::class)
|
||||
*
|
||||
* @var Collection<int, Thumbnail>|array<Thumbnail>
|
||||
*/
|
||||
/** @var Collection<int, Thumbnail>|array<Thumbnail> */
|
||||
#[ODM\EmbedMany(targetDocument: Thumbnail::class)]
|
||||
public $thumbnails = [];
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -368,14 +332,11 @@ class Image
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class Thumbnail
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
|
||||
@@ -9,6 +9,7 @@ use Doctrine\ODM\MongoDB\Event;
|
||||
use Doctrine\ODM\MongoDB\Event\LifecycleEventArgs;
|
||||
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
|
||||
use Doctrine\ODM\MongoDB\Tests\BaseTestCase;
|
||||
use Doctrine\ODM\MongoDB\Types\Type;
|
||||
use MongoDB\Client;
|
||||
use MongoDB\Driver\Session;
|
||||
use PHPUnit\Framework\Assert;
|
||||
@@ -199,22 +200,16 @@ class TransactionalLifecycleEventsTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\MappedSuperclass
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\MappedSuperclass]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
abstract class BaseEventDocument
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
public $name;
|
||||
#[ODM\Field(type: Type::STRING)]
|
||||
public ?string $name = null;
|
||||
|
||||
public int $preUpdate = 0;
|
||||
|
||||
@@ -225,27 +220,28 @@ abstract class BaseEventDocument
|
||||
public int $postRemove = 0;
|
||||
|
||||
/** @ODM\PreUpdate */
|
||||
#[ODM\PreUpdate]
|
||||
public function preUpdate(Event\PreUpdateEventArgs $e): void
|
||||
{
|
||||
$this->assertTransactionState($e);
|
||||
$this->preUpdate++;
|
||||
}
|
||||
|
||||
/** @ODM\PostPersist */
|
||||
#[ODM\PostPersist]
|
||||
public function postPersist(Event\LifecycleEventArgs $e): void
|
||||
{
|
||||
$this->assertTransactionState($e);
|
||||
$this->postPersist++;
|
||||
}
|
||||
|
||||
/** @ODM\PostUpdate */
|
||||
#[ODM\PostUpdate]
|
||||
public function postUpdate(Event\LifecycleEventArgs $e): void
|
||||
{
|
||||
$this->assertTransactionState($e);
|
||||
$this->postUpdate++;
|
||||
}
|
||||
|
||||
/** @ODM\PostRemove */
|
||||
#[ODM\PostRemove]
|
||||
public function postRemove(Event\LifecycleEventArgs $e): void
|
||||
{
|
||||
$this->assertTransactionState($e);
|
||||
@@ -259,17 +255,17 @@ abstract class BaseEventDocument
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class EmbeddedEventDocument extends BaseEventDocument
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class RootEventDocument extends BaseEventDocument
|
||||
{
|
||||
/** @ODM\Id */
|
||||
#[ODM\Id]
|
||||
public string $id;
|
||||
|
||||
/** @ODM\EmbedOne(targetDocument=EmbeddedEventDocument::class) */
|
||||
#[ODM\EmbedOne(targetDocument: EmbeddedEventDocument::class)]
|
||||
public ?EmbeddedEventDocument $embedded;
|
||||
}
|
||||
|
||||
@@ -211,151 +211,106 @@ class AlsoLoadTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class AlsoLoadDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\AlsoLoad({"bar", "zip"})
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\AlsoLoad(['bar', 'zip'])]
|
||||
public $foo;
|
||||
|
||||
/**
|
||||
* @ODM\Field(notSaved=true)
|
||||
* @ODM\AlsoLoad({"zip", "bar"})
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(notSaved: true)]
|
||||
#[ODM\AlsoLoad(['zip', 'bar'])]
|
||||
public $baz;
|
||||
|
||||
/**
|
||||
* @ODM\Field(notSaved=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(notSaved: true)]
|
||||
public $bar;
|
||||
|
||||
/**
|
||||
* @ODM\Field(notSaved=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(notSaved: true)]
|
||||
public $zip;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\AlsoLoad("zip")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\AlsoLoad('zip')]
|
||||
public $zap = 'zap';
|
||||
|
||||
/**
|
||||
* @ODM\Field(notSaved=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(notSaved: true)]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\Field(notSaved=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(notSaved: true)]
|
||||
public $fullName;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $firstName;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $lastName;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\AlsoLoad("testNew")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\AlsoLoad('testNew')]
|
||||
public $test = 'test';
|
||||
|
||||
/**
|
||||
* @ODM\Field(notSaved=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(notSaved: true)]
|
||||
public $testNew;
|
||||
|
||||
/**
|
||||
* @ODM\Field(notSaved=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(notSaved: true)]
|
||||
public $testOld;
|
||||
|
||||
/**
|
||||
* @ODM\Field(notSaved=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(notSaved: true)]
|
||||
public $testOlder;
|
||||
|
||||
/** @ODM\AlsoLoad({"name", "fullName"}) */
|
||||
#[ODM\AlsoLoad(['name', 'fullName'])]
|
||||
public function populateFirstAndLastName(string $name): void
|
||||
{
|
||||
[$this->firstName, $this->lastName] = explode(' ', $name);
|
||||
}
|
||||
|
||||
/** @ODM\AlsoLoad ({"testOld", "testOlder"}) */
|
||||
#[ODM\AlsoLoad(['testOld', 'testOlder'])]
|
||||
public function populateTest(?string $test): void
|
||||
{
|
||||
$this->test = $test;
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class AlsoLoadChild extends AlsoLoadDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $fizz;
|
||||
|
||||
/** @ODM\AlsoLoad("buzz") */
|
||||
#[ODM\AlsoLoad('buzz')]
|
||||
public function populateFizz(string $fizz): void
|
||||
{
|
||||
$this->fizz = $fizz;
|
||||
}
|
||||
|
||||
/** @ODM\AlsoLoad ("testOldest") */
|
||||
#[ODM\AlsoLoad('testOldest')]
|
||||
public function populateTest(?string $test): void
|
||||
{
|
||||
$this->test = $test;
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class AlsoLoadGrandchild extends AlsoLoadChild
|
||||
{
|
||||
/** @ODM\AlsoLoad ("testReallyOldest") */
|
||||
#[ODM\AlsoLoad('testReallyOldest')]
|
||||
public function populateTest(?string $test): void
|
||||
{
|
||||
$this->test = $test;
|
||||
|
||||
@@ -547,71 +547,44 @@ class AtomicSetTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class AtomicSetUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var ObjectId|null
|
||||
*/
|
||||
/** @var ObjectId|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="int")
|
||||
* @ODM\Version
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
/** @var int */
|
||||
#[ODM\Field(type: 'int')]
|
||||
#[ODM\Version]
|
||||
public $version = 1;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $surname;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="atomicSet", targetDocument=Documents\Phonenumber::class)
|
||||
*
|
||||
* @var Collection<int, Phonenumber>
|
||||
*/
|
||||
/** @var Collection<int, Phonenumber> */
|
||||
#[ODM\EmbedMany(strategy: 'atomicSet', targetDocument: Phonenumber::class)]
|
||||
public $phonenumbers;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="atomicSetArray", targetDocument=Documents\Phonenumber::class)
|
||||
*
|
||||
* @var Collection<int, Phonenumber>
|
||||
*/
|
||||
/** @var Collection<int, Phonenumber> */
|
||||
#[ODM\EmbedMany(strategy: 'atomicSetArray', targetDocument: Phonenumber::class)]
|
||||
public $phonenumbersArray;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="atomicSet", targetDocument=Documents\Phonebook::class)
|
||||
*
|
||||
* @var Collection<int, Phonebook>
|
||||
*/
|
||||
/** @var Collection<int, Phonebook> */
|
||||
#[ODM\EmbedMany(strategy: 'atomicSet', targetDocument: Phonebook::class)]
|
||||
public $phonebooks;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="atomicSet", targetDocument=AtomicSetInception::class)
|
||||
*
|
||||
* @var Collection<int, AtomicSetInception>
|
||||
*/
|
||||
/** @var Collection<int, AtomicSetInception> */
|
||||
#[ODM\EmbedMany(strategy: 'atomicSet', targetDocument: AtomicSetInception::class)]
|
||||
public $inception;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(strategy="atomicSetArray", targetDocument=AtomicSetUser::class)
|
||||
*
|
||||
* @var Collection<int, AtomicSetUser>|array<AtomicSetUser>
|
||||
*/
|
||||
/** @var Collection<int, AtomicSetUser>|array<AtomicSetUser> */
|
||||
#[ODM\ReferenceMany(strategy: 'atomicSetArray', targetDocument: self::class)]
|
||||
public $friends;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -624,28 +597,19 @@ class AtomicSetUser
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class AtomicSetInception
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $value;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=AtomicSetInception::class)
|
||||
*
|
||||
* @var AtomicSetInception|null
|
||||
*/
|
||||
/** @var AtomicSetInception|null */
|
||||
#[ODM\EmbedOne(targetDocument: self::class)]
|
||||
public $one;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=AtomicSetInception::class)
|
||||
*
|
||||
* @var Collection<int, AtomicSetInception>
|
||||
*/
|
||||
/** @var Collection<int, AtomicSetInception> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class)]
|
||||
public $many;
|
||||
|
||||
public function __construct(string $value)
|
||||
|
||||
@@ -39,62 +39,38 @@ class BinDataTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class BinDataTestUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="bin")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'bin')]
|
||||
public $bin;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="bin_func")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'bin_func')]
|
||||
public $binFunc;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="bin_bytearray")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'bin_bytearray')]
|
||||
public $binByteArray;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="bin_uuid")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'bin_uuid')]
|
||||
public $binUUID;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="bin_uuid_rfc4122")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'bin_uuid_rfc4122')]
|
||||
public $binUUIDRFC4122;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="bin_md5")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'bin_md5')]
|
||||
public $binMD5;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="bin_custom")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'bin_custom')]
|
||||
public $binCustom;
|
||||
}
|
||||
|
||||
@@ -589,67 +589,43 @@ class CollectionPersisterTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="user_collection_persister_test") */
|
||||
#[ODM\Document(collection: 'user_collection_persister_test')]
|
||||
class CollectionPersisterUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterCategory::class)
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterCategory>|array<CollectionPersisterCategory>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterCategory>|array<CollectionPersisterCategory> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterCategory::class)]
|
||||
public $categories = [];
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterGroup::class, storeEmptyArray=true)
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterGroup>|array<CollectionPersisterGroup>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterGroup>|array<CollectionPersisterGroup> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterGroup::class, storeEmptyArray: true)]
|
||||
public $groups = [];
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=CollectionPersisterPhonenumber::class, cascade={"persist"})
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterPhonenumber>|array<CollectionPersisterPhonenumber>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterPhonenumber>|array<CollectionPersisterPhonenumber> */
|
||||
#[ODM\ReferenceMany(targetDocument: CollectionPersisterPhonenumber::class, cascade: ['persist'])]
|
||||
public $phonenumbers = [];
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=CollectionPersisterRole::class, cascade={"persist"}, storeEmptyArray=true)
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterRole>|array<CollectionPersisterRole>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterRole>|array<CollectionPersisterRole> */
|
||||
#[ODM\ReferenceMany(targetDocument: CollectionPersisterRole::class, cascade: ['persist'], storeEmptyArray: true)]
|
||||
public $roles = [];
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class CollectionPersisterCategory
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterCategory::class)
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterCategory>|array<CollectionPersisterCategory>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterCategory>|array<CollectionPersisterCategory> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class)]
|
||||
public $children = [];
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -658,21 +634,15 @@ class CollectionPersisterCategory
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="phonenumber_collection_persister_test") */
|
||||
#[ODM\Document(collection: 'phonenumber_collection_persister_test')]
|
||||
class CollectionPersisterPhonenumber
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $phonenumber;
|
||||
|
||||
public function __construct(string $phonenumber)
|
||||
@@ -681,21 +651,15 @@ class CollectionPersisterPhonenumber
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="role_collection_persister_test") */
|
||||
#[ODM\Document(collection: 'role_collection_persister_test')]
|
||||
class CollectionPersisterRole
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $role;
|
||||
|
||||
public function __construct(string $role)
|
||||
@@ -704,21 +668,15 @@ class CollectionPersisterRole
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="group_collection_persister_test") */
|
||||
#[ODM\Document(collection: 'group_collection_persister_test')]
|
||||
class CollectionPersisterGroup
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $group;
|
||||
|
||||
public function __construct(string $group)
|
||||
@@ -727,28 +685,19 @@ class CollectionPersisterGroup
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="post_collection_persister_test") */
|
||||
#[ODM\Document(collection: 'post_collection_persister_test')]
|
||||
class CollectionPersisterPost
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $post;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterComment::class, strategy="set")
|
||||
*
|
||||
* @var Collection<array-key, CollectionPersisterComment>|array<CollectionPersisterComment>
|
||||
*/
|
||||
/** @var Collection<array-key, CollectionPersisterComment>|array<CollectionPersisterComment> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterComment::class, strategy: 'set')]
|
||||
public $comments = [];
|
||||
|
||||
public function __construct(string $post)
|
||||
@@ -758,35 +707,23 @@ class CollectionPersisterPost
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class CollectionPersisterComment
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $comment;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $by;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterComment::class, strategy="set")
|
||||
*
|
||||
* @var Collection<array-key, CollectionPersisterComment>|array<CollectionPersisterComment>
|
||||
*/
|
||||
/** @var Collection<array-key, CollectionPersisterComment>|array<CollectionPersisterComment> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class, strategy: 'set')]
|
||||
public $comments = [];
|
||||
|
||||
public function __construct(string $comment, string $by)
|
||||
@@ -797,70 +734,43 @@ class CollectionPersisterComment
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="structure_collection_persister_test") */
|
||||
#[ODM\Document(collection: 'structure_collection_persister_test')]
|
||||
class CollectionPersisterStructure
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="addToSet")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterNestedStructure::class, strategy: 'addToSet')]
|
||||
public $addToSet;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="addToSet")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterNestedStructure::class, strategy: 'addToSet')]
|
||||
public $addToSet2;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="set")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterNestedStructure::class, strategy: 'set')]
|
||||
public $set;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="set")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterNestedStructure::class, strategy: 'set')]
|
||||
public $set2;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="setArray")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterNestedStructure::class, strategy: 'setArray')]
|
||||
public $setArray;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="setArray")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterNestedStructure::class, strategy: 'setArray')]
|
||||
public $setArray2;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="pushAll")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterNestedStructure::class, strategy: 'pushAll')]
|
||||
public $pushAll;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="pushAll")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: CollectionPersisterNestedStructure::class, strategy: 'pushAll')]
|
||||
public $pushAll2;
|
||||
|
||||
public function __construct()
|
||||
@@ -875,77 +785,47 @@ class CollectionPersisterStructure
|
||||
$this->pushAll2 = new ArrayCollection();
|
||||
}
|
||||
}
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class CollectionPersisterNestedStructure
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $field;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="addToSet")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class, strategy: 'addToSet')]
|
||||
public $addToSet;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="addToSet")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class, strategy: 'addToSet')]
|
||||
public $addToSet2;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="set")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class, strategy: 'set')]
|
||||
public $set;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="set")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class, strategy: 'set')]
|
||||
public $set2;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="setArray")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class, strategy: 'setArray')]
|
||||
public $setArray;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="setArray")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class, strategy: 'setArray')]
|
||||
public $setArray2;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="pushAll")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class, strategy: 'pushAll')]
|
||||
public $pushAll;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=CollectionPersisterNestedStructure::class, strategy="pushAll")
|
||||
*
|
||||
* @var Collection<int, CollectionPersisterNestedStructure>
|
||||
*/
|
||||
/** @var Collection<int, CollectionPersisterNestedStructure> */
|
||||
#[ODM\EmbedMany(targetDocument: self::class, strategy: 'pushAll')]
|
||||
public $pushAll2;
|
||||
|
||||
public function __construct(string $field)
|
||||
|
||||
@@ -116,45 +116,26 @@ class CollectionsTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document(collection={
|
||||
* "name"="CollectionTestCapped",
|
||||
* "capped"=true,
|
||||
* "size"=1000,
|
||||
* "max"=1
|
||||
* })
|
||||
*/
|
||||
#[ODM\Document(collection: ['name' => 'CollectionTestCapped', 'capped' => true, 'size' => 1000, 'max' => 1])]
|
||||
class CollectionTestCapped
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class CollectionTestBasic
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
}
|
||||
|
||||
@@ -185,55 +185,27 @@ class CustomCollectionsTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentWithCustomCollection
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(
|
||||
* collectionClass=MyEmbedsCollection::class,
|
||||
* targetDocument=EmbeddedDocumentInCustomCollection::class
|
||||
* )
|
||||
*
|
||||
* @var MyEmbedsCollection<int, EmbeddedDocumentInCustomCollection>
|
||||
*/
|
||||
/** @var MyEmbedsCollection<int, EmbeddedDocumentInCustomCollection> */
|
||||
#[ODM\EmbedMany(collectionClass: MyEmbedsCollection::class, targetDocument: EmbeddedDocumentInCustomCollection::class)]
|
||||
public $coll;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(
|
||||
* targetDocument=EmbeddedDocumentInCustomCollection::class
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, EmbeddedDocumentInCustomCollection>
|
||||
*/
|
||||
/** @var Collection<int, EmbeddedDocumentInCustomCollection> */
|
||||
#[ODM\EmbedMany(targetDocument: EmbeddedDocumentInCustomCollection::class)]
|
||||
public $boring;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(
|
||||
* collectionClass=MyDocumentsCollection::class,
|
||||
* orphanRemoval=true,
|
||||
* targetDocument=DocumentWithCustomCollection::class
|
||||
* )
|
||||
*
|
||||
* @var MyDocumentsCollection<int, DocumentWithCustomCollection>
|
||||
*/
|
||||
/** @var MyDocumentsCollection<int, DocumentWithCustomCollection> */
|
||||
#[ODM\ReferenceMany(collectionClass: MyDocumentsCollection::class, orphanRemoval: true, targetDocument: self::class)]
|
||||
public $refMany;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(
|
||||
* collectionClass="\Doctrine\ODM\MongoDB\Tests\Functional\MyDocumentsCollection",
|
||||
* mappedBy="refMany",
|
||||
* targetDocument=DocumentWithCustomCollection::class
|
||||
* )
|
||||
*
|
||||
* @var MyDocumentsCollection<int, DocumentWithCustomCollection>
|
||||
*/
|
||||
/** @var MyDocumentsCollection<int, DocumentWithCustomCollection> */
|
||||
#[ODM\ReferenceMany(collectionClass: '\Doctrine\ODM\MongoDB\Tests\Functional\MyDocumentsCollection', mappedBy: 'refMany', targetDocument: self::class)]
|
||||
public $inverseRefMany;
|
||||
|
||||
public function __construct()
|
||||
@@ -245,21 +217,15 @@ class DocumentWithCustomCollection
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class EmbeddedDocumentInCustomCollection
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="bool")
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
/** @var bool */
|
||||
#[ODM\Field(type: 'bool')]
|
||||
public $enabled;
|
||||
|
||||
public function __construct(string $name, bool $enabled)
|
||||
|
||||
@@ -100,20 +100,14 @@ class CustomFieldNameTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class CustomFieldName
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="login", type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(name: 'login', type: 'string')]
|
||||
public $username;
|
||||
}
|
||||
|
||||
@@ -103,20 +103,14 @@ class CustomTypeException extends Exception
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class Country
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="date_collection")
|
||||
*
|
||||
* @var DateTime[]|DateTime|null
|
||||
*/
|
||||
/** @var DateTime[]|DateTime|null */
|
||||
#[ODM\Field(type: 'date_collection')]
|
||||
public $nationalHolidays;
|
||||
}
|
||||
|
||||
@@ -30,24 +30,18 @@ class DatabasesTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(db="test_custom") */
|
||||
#[ODM\Document(db: 'test_custom')]
|
||||
class CustomDatabaseTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document() */
|
||||
#[ODM\Document]
|
||||
class DefaultDatabaseTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
}
|
||||
|
||||
@@ -80,14 +80,11 @@ class DiscriminatorsDefaultValueTest extends BaseTestCase
|
||||
}
|
||||
|
||||
// Unmapped superclasses
|
||||
/** @ODM\Document(collection="discriminator_parent") */
|
||||
#[ODM\Document(collection: 'discriminator_parent')]
|
||||
abstract class ParentDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/** @var ChildDocument */
|
||||
@@ -139,21 +136,15 @@ abstract class ParentDocument
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="discriminator_child") */
|
||||
#[ODM\Document(collection: 'discriminator_child')]
|
||||
abstract class ChildDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
protected $type;
|
||||
|
||||
public function __construct(string $type)
|
||||
@@ -173,100 +164,71 @@ abstract class ChildDocument
|
||||
}
|
||||
|
||||
// Documents without discriminators - used to create "legacy" data
|
||||
/** @ODM\Document(collection="discriminator_parent") */
|
||||
#[ODM\Document(collection: 'discriminator_parent')]
|
||||
class ParentDocumentWithoutDiscriminator extends ParentDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=ChildDocumentWithoutDiscriminator::class)
|
||||
*
|
||||
* @var ChildDocumentWithDiscriminator
|
||||
*/
|
||||
/** @var ChildDocumentWithDiscriminator */
|
||||
#[ODM\ReferenceOne(targetDocument: ChildDocumentWithoutDiscriminator::class)]
|
||||
protected $referencedChild;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=ChildDocumentWithoutDiscriminator::class)
|
||||
*
|
||||
* @var Collection<int, ChildDocumentWithDiscriminator>|array<ChildDocumentWithDiscriminator>
|
||||
*/
|
||||
/** @var Collection<int, ChildDocumentWithDiscriminator>|array<ChildDocumentWithDiscriminator> */
|
||||
#[ODM\ReferenceMany(targetDocument: ChildDocumentWithoutDiscriminator::class)]
|
||||
protected $referencedChildren;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=ChildDocumentWithoutDiscriminator::class)
|
||||
*
|
||||
* @var ChildDocumentWithoutDiscriminator
|
||||
*/
|
||||
/** @var ChildDocumentWithoutDiscriminator */
|
||||
#[ODM\EmbedOne(targetDocument: ChildDocumentWithoutDiscriminator::class)]
|
||||
protected $embeddedChild;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=ChildDocumentWithoutDiscriminator::class)
|
||||
*
|
||||
* @var Collection<int, ChildDocumentWithDiscriminator>|array<ChildDocumentWithDiscriminator>
|
||||
*/
|
||||
/** @var Collection<int, ChildDocumentWithDiscriminator>|array<ChildDocumentWithDiscriminator> */
|
||||
#[ODM\EmbedMany(targetDocument: ChildDocumentWithoutDiscriminator::class)]
|
||||
protected $embeddedChildren;
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="discriminator_child") */
|
||||
#[ODM\Document(collection: 'discriminator_child')]
|
||||
class ChildDocumentWithoutDiscriminator extends ChildDocument
|
||||
{
|
||||
}
|
||||
|
||||
// Documents with discriminators - these represent a "refactored" document structure
|
||||
/** @ODM\Document(collection="discriminator_parent") */
|
||||
#[ODM\Document(collection: 'discriminator_parent')]
|
||||
class ParentDocumentWithDiscriminator extends ParentDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=ChildDocumentWithDiscriminator::class)
|
||||
*
|
||||
* @var ChildDocumentWithDiscriminator
|
||||
*/
|
||||
/** @var ChildDocumentWithDiscriminator */
|
||||
#[ODM\ReferenceOne(targetDocument: ChildDocumentWithDiscriminator::class)]
|
||||
protected $referencedChild;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=ChildDocumentWithDiscriminator::class)
|
||||
*
|
||||
* @var Collection<int, ChildDocumentWithDiscriminator>|array<ChildDocumentWithDiscriminator>
|
||||
*/
|
||||
/** @var Collection<int, ChildDocumentWithDiscriminator>|array<ChildDocumentWithDiscriminator> */
|
||||
#[ODM\ReferenceMany(targetDocument: ChildDocumentWithDiscriminator::class)]
|
||||
protected $referencedChildren;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=ChildDocumentWithDiscriminator::class)
|
||||
*
|
||||
* @var ChildDocumentWithDiscriminator
|
||||
*/
|
||||
/** @var ChildDocumentWithDiscriminator */
|
||||
#[ODM\EmbedOne(targetDocument: ChildDocumentWithDiscriminator::class)]
|
||||
protected $embeddedChild;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=ChildDocumentWithDiscriminator::class)
|
||||
*
|
||||
* @var Collection<int, ChildDocumentWithDiscriminator>
|
||||
*/
|
||||
/** @var Collection<int, ChildDocumentWithDiscriminator> */
|
||||
#[ODM\EmbedMany(targetDocument: ChildDocumentWithDiscriminator::class)]
|
||||
protected $embeddedChildren;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document(collection="discriminator_child")
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorField("discriminator")
|
||||
* @ODM\DiscriminatorMap({"simple"=ChildDocumentWithDiscriminatorSimple::class, "complex"=ChildDocumentWithDiscriminatorComplex::class})
|
||||
* @ODM\DefaultDiscriminatorValue("simple")
|
||||
*/
|
||||
#[ODM\Document(collection: 'discriminator_child')]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorField('discriminator')]
|
||||
#[ODM\DiscriminatorMap(['simple' => ChildDocumentWithDiscriminatorSimple::class, 'complex' => ChildDocumentWithDiscriminatorComplex::class])]
|
||||
#[ODM\DefaultDiscriminatorValue('simple')]
|
||||
class ChildDocumentWithDiscriminator extends ChildDocument
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="discriminator_child") */
|
||||
#[ODM\Document(collection: 'discriminator_child')]
|
||||
class ChildDocumentWithDiscriminatorSimple extends ChildDocumentWithDiscriminator
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="discriminator_child") */
|
||||
#[ODM\Document(collection: 'discriminator_child')]
|
||||
class ChildDocumentWithDiscriminatorComplex extends ChildDocumentWithDiscriminatorSimple
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
protected $value;
|
||||
|
||||
public function __construct(string $type, string $value)
|
||||
|
||||
@@ -873,231 +873,143 @@ class DocumentPersisterTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentPersisterTestDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var ObjectId|null
|
||||
*/
|
||||
/** @var ObjectId|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="dbName", type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(name: 'dbName', type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(
|
||||
* targetDocument=Doctrine\ODM\MongoDB\Tests\Functional\AbstractDocumentPersisterTestDocumentAssociation::class,
|
||||
* discriminatorField="type",
|
||||
* name="associationName"
|
||||
* )
|
||||
*
|
||||
* @var AbstractDocumentPersisterTestDocumentAssociation|null
|
||||
*/
|
||||
/** @var AbstractDocumentPersisterTestDocumentAssociation|null */
|
||||
#[ODM\EmbedOne(targetDocument: AbstractDocumentPersisterTestDocumentAssociation::class, discriminatorField: 'type', name: 'associationName')]
|
||||
public $association;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentPersisterTestHashIdDocument::class, storeAs="id")
|
||||
*
|
||||
* @var DocumentPersisterTestHashIdDocument|null
|
||||
*/
|
||||
/** @var DocumentPersisterTestHashIdDocument|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentPersisterTestHashIdDocument::class, storeAs: 'id')]
|
||||
public $simpleRef;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentPersisterTestHashIdDocument::class, storeAs="dbRef")
|
||||
*
|
||||
* @var DocumentPersisterTestHashIdDocument|null
|
||||
*/
|
||||
/** @var DocumentPersisterTestHashIdDocument|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentPersisterTestHashIdDocument::class, storeAs: 'dbRef')]
|
||||
public $semiComplexRef;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentPersisterTestHashIdDocument::class, storeAs="dbRefWithDb")
|
||||
*
|
||||
* @var DocumentPersisterTestHashIdDocument|null
|
||||
*/
|
||||
/** @var DocumentPersisterTestHashIdDocument|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentPersisterTestHashIdDocument::class, storeAs: 'dbRefWithDb')]
|
||||
public $complexRef;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentPersisterTestHashIdDocument::class, storeAs="ref")
|
||||
*
|
||||
* @var DocumentPersisterTestHashIdDocument|null
|
||||
*/
|
||||
/** @var DocumentPersisterTestHashIdDocument|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentPersisterTestHashIdDocument::class, storeAs: 'ref')]
|
||||
public $embeddedRef;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentPersisterTestDocumentWithVersion
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="dbName", type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(name: 'dbName', type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\Version
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
/** @var int */
|
||||
#[ODM\Version]
|
||||
#[ODM\Field(type: 'int')]
|
||||
public $revision = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\EmbeddedDocument
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\DiscriminatorMap({
|
||||
* "reference"="Doctrine\ODM\MongoDB\Tests\Functional\DocumentPersisterTestDocumentReference",
|
||||
* "embed"="Doctrine\ODM\MongoDB\Tests\Functional\DocumentPersisterTestDocumentEmbed"
|
||||
* })
|
||||
*/
|
||||
#[ODM\EmbeddedDocument]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\DiscriminatorMap(['reference' => DocumentPersisterTestDocumentReference::class, 'embed' => DocumentPersisterTestDocumentEmbed::class])]
|
||||
abstract class AbstractDocumentPersisterTestDocumentAssociation
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(name="nestedName")
|
||||
*
|
||||
* @var object|null
|
||||
*/
|
||||
/** @var object|null */
|
||||
#[ODM\EmbedOne(name: 'nestedName')]
|
||||
public $nested;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(
|
||||
* targetDocument=Doctrine\ODM\MongoDB\Tests\Functional\AbstractDocumentPersisterTestDocumentAssociation::class,
|
||||
* discriminatorField="type",
|
||||
* name="associationName"
|
||||
* )
|
||||
*
|
||||
* @var AbstractDocumentPersisterTestDocumentAssociation|null
|
||||
*/
|
||||
/** @var AbstractDocumentPersisterTestDocumentAssociation|null */
|
||||
#[ODM\EmbedOne(targetDocument: self::class, discriminatorField: 'type', name: 'associationName')]
|
||||
public $association;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class DocumentPersisterTestDocumentReference extends AbstractDocumentPersisterTestDocumentAssociation
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(name="nestedName")
|
||||
*
|
||||
* @var object|null
|
||||
*/
|
||||
/** @var object|null */
|
||||
#[ODM\ReferenceOne(name: 'nestedName')]
|
||||
public $nested;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class DocumentPersisterTestDocumentEmbed extends AbstractDocumentPersisterTestDocumentAssociation
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(name="nestedName")
|
||||
*
|
||||
* @var object|null
|
||||
*/
|
||||
/** @var object|null */
|
||||
#[ODM\EmbedOne(name: 'nestedName')]
|
||||
public $nested;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentPersisterTestHashIdDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none", options={"type"="hash"})
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id(strategy: 'none', options: ['type' => 'hash'])]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentPersisterTestDocument::class, storeAs="id")
|
||||
*
|
||||
* @var DocumentPersisterTestDocument|null
|
||||
*/
|
||||
/** @var DocumentPersisterTestDocument|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentPersisterTestDocument::class, storeAs: 'id')]
|
||||
public $simpleRef;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentPersisterTestDocument::class, storeAs="dbRef")
|
||||
*
|
||||
* @var DocumentPersisterTestDocument|null
|
||||
*/
|
||||
/** @var DocumentPersisterTestDocument|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentPersisterTestDocument::class, storeAs: 'dbRef')]
|
||||
public $semiComplexRef;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentPersisterTestDocument::class, storeAs="dbRefWithDb")
|
||||
*
|
||||
* @var DocumentPersisterTestDocument|null
|
||||
*/
|
||||
/** @var DocumentPersisterTestDocument|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentPersisterTestDocument::class, storeAs: 'dbRefWithDb')]
|
||||
public $complexRef;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentPersisterTestDocument::class, storeAs="ref")
|
||||
*
|
||||
* @var DocumentPersisterTestDocument|null
|
||||
*/
|
||||
/** @var DocumentPersisterTestDocument|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentPersisterTestDocument::class, storeAs: 'ref')]
|
||||
public $embeddedRef;
|
||||
}
|
||||
|
||||
/** @ODM\Document(writeConcern="majority") */
|
||||
#[ODM\Document(writeConcern: 'majority')]
|
||||
class DocumentPersisterWriteConcernMajority
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document(writeConcern=0) */
|
||||
#[ODM\Document(writeConcern: 0)]
|
||||
class DocumentPersisterWriteConcernUnacknowledged
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document(writeConcern=1) */
|
||||
#[ODM\Document(writeConcern: 1)]
|
||||
class DocumentPersisterWriteConcernAcknowledged
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -1171,14 +1083,11 @@ final class DocumentPersisterCustomIdType extends Type
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document() */
|
||||
#[ODM\Document]
|
||||
class DocumentPersisterTestDocumentWithCustomId
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="NONE", type="DocumentPersisterCustomId")
|
||||
*
|
||||
* @var DocumentPersisterCustomTypedId
|
||||
*/
|
||||
/** @var DocumentPersisterCustomTypedId */
|
||||
#[ODM\Id(strategy: 'NONE', type: 'DocumentPersisterCustomId')]
|
||||
private $id;
|
||||
|
||||
public function __construct(DocumentPersisterCustomTypedId $id)
|
||||
@@ -1192,21 +1101,15 @@ class DocumentPersisterTestDocumentWithCustomId
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document() */
|
||||
#[ODM\Document]
|
||||
class DocumentPersisterTestDocumentWithReferenceToDocumentWithCustomId
|
||||
{
|
||||
/**
|
||||
* @ODM\Id()
|
||||
*
|
||||
* @var DocumentPersisterCustomTypedId
|
||||
*/
|
||||
/** @var DocumentPersisterCustomTypedId */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentPersisterTestDocumentWithCustomId::class, storeAs="id")
|
||||
*
|
||||
* @var DocumentPersisterTestDocumentWithCustomId
|
||||
*/
|
||||
/** @var DocumentPersisterTestDocumentWithCustomId */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentPersisterTestDocumentWithCustomId::class, storeAs: 'id')]
|
||||
private $documentWithCustomId;
|
||||
|
||||
public function __construct(DocumentPersisterTestDocumentWithCustomId $documentWithCustomId)
|
||||
|
||||
@@ -59,74 +59,50 @@ class EmbeddedIdTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class EmbeddedIdTestUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=DefaultIdEmbeddedDocument::class)
|
||||
*
|
||||
* @var DefaultIdEmbeddedDocument|null
|
||||
*/
|
||||
/** @var DefaultIdEmbeddedDocument|null */
|
||||
#[ODM\EmbedOne(targetDocument: DefaultIdEmbeddedDocument::class)]
|
||||
public $embedOne;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=DefaultIdEmbeddedDocument::class)
|
||||
*
|
||||
* @var Collection<int, DefaultIdEmbeddedDocument>|array<DefaultIdEmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, DefaultIdEmbeddedDocument>|array<DefaultIdEmbeddedDocument> */
|
||||
#[ODM\EmbedMany(targetDocument: DefaultIdEmbeddedDocument::class)]
|
||||
public $embedMany = [];
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class EmbeddedStrategyNoneIdTestUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=DefaultIdStrategyNoneEmbeddedDocument::class)
|
||||
*
|
||||
* @var DefaultIdStrategyNoneEmbeddedDocument|null
|
||||
*/
|
||||
/** @var DefaultIdStrategyNoneEmbeddedDocument|null */
|
||||
#[ODM\EmbedOne(targetDocument: DefaultIdStrategyNoneEmbeddedDocument::class)]
|
||||
public $embedOne;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=DefaultIdStrategyNoneEmbeddedDocument::class)
|
||||
*
|
||||
* @var Collection<int, DefaultIdStrategyNoneEmbeddedDocument>|array<DefaultIdStrategyNoneEmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, DefaultIdStrategyNoneEmbeddedDocument>|array<DefaultIdStrategyNoneEmbeddedDocument> */
|
||||
#[ODM\EmbedMany(targetDocument: DefaultIdStrategyNoneEmbeddedDocument::class)]
|
||||
public $embedMany = [];
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class DefaultIdEmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class DefaultIdStrategyNoneEmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id(strategy: 'none')]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -58,28 +58,19 @@ class EmbeddedReferenceTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class Offer
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=Link::class)
|
||||
*
|
||||
* @var Collection<int, Link>
|
||||
*/
|
||||
/** @var Collection<int, Link> */
|
||||
#[ODM\EmbedMany(targetDocument: Link::class)]
|
||||
public $links;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -89,28 +80,19 @@ class Offer
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class Link
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $url;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=ReferencedDocument::class)
|
||||
*
|
||||
* @var Collection<int, ReferencedDocument>
|
||||
*/
|
||||
/** @var Collection<int, ReferencedDocument> */
|
||||
#[ODM\ReferenceMany(targetDocument: ReferencedDocument::class)]
|
||||
public $referencedDocuments;
|
||||
|
||||
public function __construct(string $url)
|
||||
@@ -120,21 +102,15 @@ class Link
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class ReferencedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
|
||||
@@ -637,28 +637,19 @@ class EmbeddedTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class ChangeEmbeddedIdTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=EmbeddedDocumentWithId::class)
|
||||
*
|
||||
* @var EmbeddedDocumentWithId|null
|
||||
*/
|
||||
/** @var EmbeddedDocumentWithId|null */
|
||||
#[ODM\EmbedOne(targetDocument: EmbeddedDocumentWithId::class)]
|
||||
public $embed;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=EmbeddedDocumentWithId::class)
|
||||
*
|
||||
* @var Collection<int, EmbeddedDocumentWithId>|array<EmbeddedDocumentWithId>
|
||||
*/
|
||||
/** @var Collection<int, EmbeddedDocumentWithId>|array<EmbeddedDocumentWithId> */
|
||||
#[ODM\EmbedMany(targetDocument: EmbeddedDocumentWithId::class)]
|
||||
public $embedMany;
|
||||
|
||||
public function __construct()
|
||||
@@ -667,49 +658,34 @@ class ChangeEmbeddedIdTest
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class EmbeddedDocumentWithId
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class ChangeEmbeddedWithNameAnnotationTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=EmbeddedDocumentWithAnotherEmbedded::class)
|
||||
*
|
||||
* @var EmbeddedDocumentWithAnotherEmbedded|null
|
||||
*/
|
||||
/** @var EmbeddedDocumentWithAnotherEmbedded|null */
|
||||
#[ODM\EmbedOne(targetDocument: EmbeddedDocumentWithAnotherEmbedded::class)]
|
||||
public $embedOne;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=EmbeddedDocumentWithAnotherEmbedded::class)
|
||||
*
|
||||
* @var EmbeddedDocumentWithAnotherEmbedded|null
|
||||
*/
|
||||
/** @var EmbeddedDocumentWithAnotherEmbedded|null */
|
||||
#[ODM\EmbedOne(targetDocument: EmbeddedDocumentWithAnotherEmbedded::class)]
|
||||
public $embedTwo;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class EmbeddedDocumentWithAnotherEmbedded
|
||||
{
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=EmbeddedDocumentWithId::class, name="m_id")
|
||||
*
|
||||
* @var EmbeddedDocumentWithId|null
|
||||
*/
|
||||
/** @var EmbeddedDocumentWithId|null */
|
||||
#[ODM\EmbedOne(targetDocument: EmbeddedDocumentWithId::class, name: 'm_id')]
|
||||
public $embed;
|
||||
}
|
||||
|
||||
@@ -928,27 +928,18 @@ class FunctionalTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class ParentAssociationTestA
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne
|
||||
*
|
||||
* @var object|null
|
||||
*/
|
||||
/** @var object|null */
|
||||
#[ODM\EmbedOne]
|
||||
public $child;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -957,20 +948,14 @@ class ParentAssociationTestA
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class ParentAssociationTestB
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
/**
|
||||
* @ODM\EmbedMany
|
||||
*
|
||||
* @var Collection<int, object>|array<object>
|
||||
*/
|
||||
/** @var Collection<int, object>|array<object> */
|
||||
#[ODM\EmbedMany]
|
||||
public $children = [];
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -979,14 +964,11 @@ class ParentAssociationTestB
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class ParentAssociationTestC
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
|
||||
@@ -107,115 +107,99 @@ class HasLifecycleCallbacksTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\MappedSuperclass */
|
||||
#[ODM\MappedSuperclass]
|
||||
abstract class HasLifecycleCallbacksSuper
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/** @var string[] */
|
||||
public $invoked = [];
|
||||
|
||||
/** @ODM\PrePersist */
|
||||
#[ODM\PrePersist]
|
||||
public function prePersist(): void
|
||||
{
|
||||
$this->invoked[] = 'super';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\MappedSuperclass
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\MappedSuperclass]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
abstract class HasLifecycleCallbacksSuperAnnotated
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/** @var string[] */
|
||||
public $invoked = [];
|
||||
|
||||
/** @ODM\PrePersist */
|
||||
#[ODM\PrePersist]
|
||||
public function prePersist(): void
|
||||
{
|
||||
$this->invoked[] = 'super';
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class HasLifecycleCallbacksSubExtendsSuper extends HasLifecycleCallbacksSuper
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class HasLifecycleCallbacksSubExtendsSuperAnnotated extends HasLifecycleCallbacksSuperAnnotated
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
class HasLifecycleCallbacksSubAnnotatedExtendsSuper extends HasLifecycleCallbacksSuper
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
class HasLifecycleCallbacksSubAnnotatedExtendsSuperAnnotated extends HasLifecycleCallbacksSuperAnnotated
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class HasLifecycleCallbacksSubOverrideExtendsSuper extends HasLifecycleCallbacksSuper
|
||||
{
|
||||
/** @ODM\PrePersist */
|
||||
#[ODM\PrePersist]
|
||||
public function prePersist(): void
|
||||
{
|
||||
$this->invoked[] = 'sub';
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class HasLifecycleCallbacksSubOverrideExtendsSuperAnnotated extends HasLifecycleCallbacksSuperAnnotated
|
||||
{
|
||||
/** @ODM\PrePersist */
|
||||
#[ODM\PrePersist]
|
||||
public function prePersist(): void
|
||||
{
|
||||
$this->invoked[] = 'sub';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
class HasLifecycleCallbacksSubOverrideAnnotatedExtendsSuper extends HasLifecycleCallbacksSuper
|
||||
{
|
||||
/** @ODM\PrePersist */
|
||||
#[ODM\PrePersist]
|
||||
public function prePersist(): void
|
||||
{
|
||||
$this->invoked[] = 'sub';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
class HasLifecycleCallbacksSubOverrideAnnotatedExtendsSuperAnnotated extends HasLifecycleCallbacksSuperAnnotated
|
||||
{
|
||||
/** @ODM\PrePersist */
|
||||
#[ODM\PrePersist]
|
||||
public function prePersist(): void
|
||||
{
|
||||
$this->invoked[] = 'sub';
|
||||
|
||||
@@ -368,13 +368,13 @@ class IdTest extends BaseTestCase
|
||||
|
||||
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
|
||||
|
||||
/** @Doctrine\ODM\MongoDB\Mapping\Annotations\Document */
|
||||
#[ODM\Document]
|
||||
class %s
|
||||
{
|
||||
/** @Doctrine\ODM\MongoDB\Mapping\Annotations\Id(strategy="%s", options={"type"="%s"}) **/
|
||||
#[ODM\Id(strategy: "%s", options: ["type" => "%s"])]
|
||||
public $id;
|
||||
|
||||
/** @Doctrine\ODM\MongoDB\Mapping\Annotations\Field("type=string") **/
|
||||
#[ODM\Field(type: "string")]
|
||||
public $test = "test";
|
||||
}',
|
||||
$shortClassName,
|
||||
@@ -389,21 +389,15 @@ class %s
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class UuidUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="uuid", options={"salt"="test"})
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id(strategy: 'uuid', options: ['salt' => 'test'])]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="t", type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(name: 't', type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -412,35 +406,23 @@ class UuidUser
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class CollectionIdUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="increment")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'increment')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="t", type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(name: 't', type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=ReferencedCollectionId::class, cascade={"persist"})
|
||||
*
|
||||
* @var ReferencedCollectionId|null
|
||||
*/
|
||||
/** @var ReferencedCollectionId|null */
|
||||
#[ODM\ReferenceOne(targetDocument: ReferencedCollectionId::class, cascade: ['persist'])]
|
||||
public $reference;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=EmbeddedCollectionId::class)
|
||||
*
|
||||
* @var Collection<int, EmbeddedCollectionId>|array<EmbeddedCollectionId>
|
||||
*/
|
||||
/** @var Collection<int, EmbeddedCollectionId>|array<EmbeddedCollectionId> */
|
||||
#[ODM\EmbedMany(targetDocument: EmbeddedCollectionId::class)]
|
||||
public $embedded = [];
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -449,35 +431,23 @@ class CollectionIdUser
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class CollectionIdUserWithStartingId
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="increment", options={"startingId"=10})
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'increment', options: ['startingId' => 10])]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="t", type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(name: 't', type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=ReferencedCollectionId::class, cascade={"persist"})
|
||||
*
|
||||
* @var ReferencedCollectionId|null
|
||||
*/
|
||||
/** @var ReferencedCollectionId|null */
|
||||
#[ODM\ReferenceOne(targetDocument: ReferencedCollectionId::class, cascade: ['persist'])]
|
||||
public $reference;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=EmbeddedCollectionId::class)
|
||||
*
|
||||
* @var Collection<int, EmbeddedCollectionId>|array<EmbeddedCollectionId>
|
||||
*/
|
||||
/** @var Collection<int, EmbeddedCollectionId>|array<EmbeddedCollectionId> */
|
||||
#[ODM\EmbedMany(targetDocument: EmbeddedCollectionId::class)]
|
||||
public $embedded = [];
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -486,21 +456,15 @@ class CollectionIdUserWithStartingId
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class ReferencedCollectionId
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="increment")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'increment')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -514,21 +478,15 @@ class ReferencedCollectionId
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class EmbeddedCollectionId
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="increment")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'increment')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -542,21 +500,15 @@ class EmbeddedCollectionId
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class AlnumCharsUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="alnum", options={"chars"="zyxwvutsrqponmlkjihgfedcba"})
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id(strategy: 'alnum', options: ['chars' => 'zyxwvutsrqponmlkjihgfedcba'])]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="t", type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(name: 't', type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -565,21 +517,15 @@ class AlnumCharsUser
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class CustomIdUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none", nullable=true)
|
||||
*
|
||||
* @var int|string|null
|
||||
*/
|
||||
/** @var int|string|null */
|
||||
#[ODM\Id(strategy: 'none', nullable: true)]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -588,13 +534,10 @@ class CustomIdUser
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class TestIdTypesIdAutoUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="auto", options={"type"="id"})
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'auto', options: ['type' => 'id'])]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -251,448 +251,283 @@ class IndexesTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class UniqueOnFieldTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\UniqueIndex()
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\UniqueIndex]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\UniqueIndex(keys={"username"="asc"})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\UniqueIndex(keys: ['username' => 'asc'])]
|
||||
class UniqueOnDocumentTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\Indexes(@ODM\UniqueIndex(keys={"username"="asc"}))
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\UniqueIndex(keys: ['username' => 'asc'])]
|
||||
class IndexesOnDocumentTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\Indexes(@ODM\UniqueIndex(keys={"username"="asc"},partialFilterExpression={"counter"={"$gt"=5}}))
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\UniqueIndex(keys: ['username' => 'asc'], partialFilterExpression: ['counter' => ['$gt' => 5]])]
|
||||
class PartialIndexOnDocumentTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $email;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Field(type: 'int')]
|
||||
public $counter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\UniqueIndex(keys={"username"="asc", "email"="asc"})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\UniqueIndex(keys: ['username' => 'asc', 'email' => 'asc'])]
|
||||
class MultipleFieldsUniqueIndexTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $email;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class UniqueSparseOnFieldTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\UniqueIndex(sparse=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\UniqueIndex(sparse: true)]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\UniqueIndex(keys={"username"="asc"}, options={"sparse"=true})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\UniqueIndex(keys: ['username' => 'asc'], options: ['sparse' => true])]
|
||||
class UniqueSparseOnDocumentTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\Indexes(@ODM\UniqueIndex(keys={"username"="asc"}, options={"sparse"=true}))
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\UniqueIndex(keys: ['username' => 'asc'], options: ['sparse' => true])]
|
||||
class SparseIndexesOnDocumentTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\UniqueIndex(keys={"username"="asc", "email"="asc"}, options={"sparse"=true})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\UniqueIndex(keys: ['username' => 'asc', 'email' => 'asc'], options: ['sparse' => true])]
|
||||
class MultipleFieldsUniqueSparseIndexTest
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $email;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class MultipleFieldIndexes
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\UniqueIndex(name="test")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\UniqueIndex(name: 'test')]
|
||||
public $username;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\Index(unique=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\Index(unique: true)]
|
||||
public $email;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentWithEmbeddedIndexes
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=EmbeddedDocumentWithIndexes::class)
|
||||
*
|
||||
* @var EmbeddedDocumentWithIndexes|null
|
||||
*/
|
||||
/** @var EmbeddedDocumentWithIndexes|null */
|
||||
#[ODM\EmbedOne(targetDocument: EmbeddedDocumentWithIndexes::class)]
|
||||
public $embedded;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=EmbeddedDocumentWithIndexes::class)
|
||||
*
|
||||
* @var EmbeddedDocumentWithIndexes|null
|
||||
*/
|
||||
/** @var EmbeddedDocumentWithIndexes|null */
|
||||
#[ODM\EmbedOne(targetDocument: EmbeddedDocumentWithIndexes::class)]
|
||||
public $embeddedSecondary;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\Index(keys={"type"="asc"})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\Index(keys: ['type' => 'asc'])]
|
||||
class DocumentWithDiscriminatorIndex
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\Index(keys={"name"="asc"})
|
||||
* @ODM\Index(keys={"name"="desc"})
|
||||
* @ODM\UniqueIndex(keys={"name"="asc"}, options={"sparse"=true})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\Index(keys: ['name' => 'asc'])]
|
||||
#[ODM\Index(keys: ['name' => 'desc'])]
|
||||
#[ODM\UniqueIndex(keys: ['name' => 'asc'], options: ['sparse' => true])]
|
||||
class DocumentWithMultipleIndexAnnotations
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class EmbeddedDocumentWithIndexes
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\Index
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\Index]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=EmbeddedManyDocumentWithIndexes::class)
|
||||
*
|
||||
* @var Collection<int, EmbeddedManyDocumentWithIndexes>
|
||||
*/
|
||||
/** @var Collection<int, EmbeddedManyDocumentWithIndexes> */
|
||||
#[ODM\EmbedMany(targetDocument: EmbeddedManyDocumentWithIndexes::class)]
|
||||
public $embeddedMany;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class EmbeddedManyDocumentWithIndexes
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\Index
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\Index]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class YetAnotherEmbeddedDocumentWithIndex
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\Index
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\Index]
|
||||
public $value;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentWithIndexInDiscriminatedEmbeds
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(
|
||||
* discriminatorMap={
|
||||
* "d1"=EmbeddedDocumentWithIndexes::class,
|
||||
* "d2"=YetAnotherEmbeddedDocumentWithIndex::class,
|
||||
* })
|
||||
*
|
||||
* @var EmbeddedDocumentWithIndexes|YetAnotherEmbeddedDocumentWithIndex|null
|
||||
*/
|
||||
/** @var EmbeddedDocumentWithIndexes|YetAnotherEmbeddedDocumentWithIndex|null */
|
||||
#[ODM\EmbedOne(discriminatorMap: ['d1' => EmbeddedDocumentWithIndexes::class, 'd2' => YetAnotherEmbeddedDocumentWithIndex::class])]
|
||||
public $embedded;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\Index(keys={"coordinatesWith2DIndex"="2d"})
|
||||
* @ODM\Index(keys={"coordinatesWithSphereIndex"="2dsphere"})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\Index(keys: ['coordinatesWith2DIndex' => '2d'])]
|
||||
#[ODM\Index(keys: ['coordinatesWithSphereIndex' => '2dsphere'])]
|
||||
class GeoIndexDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="hash")
|
||||
*
|
||||
* @var array<float>
|
||||
*/
|
||||
/** @var array<float> */
|
||||
#[ODM\Field(type: 'hash')]
|
||||
public $coordinatesWith2DIndex;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="hash")
|
||||
*
|
||||
* @var array<float>
|
||||
*/
|
||||
/** @var array<float> */
|
||||
#[ODM\Field(type: 'hash')]
|
||||
public $coordinatesWithSphereIndex;
|
||||
}
|
||||
|
||||
@@ -52,38 +52,24 @@ class LifecycleTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
class ParentObject
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=ChildObject::class, cascade="all")
|
||||
*
|
||||
* @var Collection<int, ChildObject>|array<ChildObject>
|
||||
*/
|
||||
/** @var Collection<int, ChildObject>|array<ChildObject> */
|
||||
#[ODM\ReferenceMany(targetDocument: ChildObject::class, cascade: 'all')]
|
||||
private $children;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=ChildEmbeddedObject::class)
|
||||
*
|
||||
* @var ChildEmbeddedObject
|
||||
*/
|
||||
/** @var ChildEmbeddedObject */
|
||||
#[ODM\EmbedOne(targetDocument: ChildEmbeddedObject::class)]
|
||||
private $childEmbedded;
|
||||
|
||||
/** @var ChildObject */
|
||||
@@ -106,16 +92,14 @@ class ParentObject
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\PrePersist
|
||||
* @ODM\PreUpdate
|
||||
*/
|
||||
#[ODM\PrePersist]
|
||||
#[ODM\PreUpdate]
|
||||
public function prePersistPreUpdate(): void
|
||||
{
|
||||
$this->children = [$this->child];
|
||||
}
|
||||
|
||||
/** @ODM\PreUpdate */
|
||||
#[ODM\PreUpdate]
|
||||
public function preUpdate(): void
|
||||
{
|
||||
$this->childEmbedded->setName('changed');
|
||||
@@ -138,21 +122,15 @@ class ParentObject
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class ChildObject
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -171,14 +149,11 @@ class ChildObject
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class ChildEmbeddedObject
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
|
||||
@@ -559,36 +559,24 @@ class LockTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\MappedSuperclass */
|
||||
#[ODM\MappedSuperclass]
|
||||
abstract class AbstractVersionBase
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var ObjectId|string|null
|
||||
*/
|
||||
/** @var ObjectId|string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $title;
|
||||
|
||||
/**
|
||||
* @ODM\Lock
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Lock]
|
||||
#[ODM\Field(type: 'int')]
|
||||
public $locked;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=Issue::class)
|
||||
*
|
||||
* @var Collection<int, Issue>
|
||||
*/
|
||||
/** @var Collection<int, Issue> */
|
||||
#[ODM\EmbedMany(targetDocument: Issue::class)]
|
||||
public $issues;
|
||||
|
||||
/** @var int|string|DateTime|DateTimeImmutable|null */
|
||||
@@ -618,88 +606,64 @@ abstract class AbstractVersionBase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class LockInt extends AbstractVersionBase
|
||||
{
|
||||
/**
|
||||
* @ODM\Version
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Version]
|
||||
#[ODM\Field(type: 'int')]
|
||||
public $version;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class LockDate extends AbstractVersionBase
|
||||
{
|
||||
/**
|
||||
* @ODM\Version
|
||||
* @ODM\Field(type="date")
|
||||
*
|
||||
* @var DateTime|null
|
||||
*/
|
||||
/** @var DateTime|null */
|
||||
#[ODM\Version]
|
||||
#[ODM\Field(type: 'date')]
|
||||
public $version;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class LockDateImmutable extends AbstractVersionBase
|
||||
{
|
||||
/**
|
||||
* @ODM\Version
|
||||
* @ODM\Field(type="date_immutable")
|
||||
*
|
||||
* @var DateTimeImmutable|null
|
||||
*/
|
||||
/** @var DateTimeImmutable|null */
|
||||
#[ODM\Version]
|
||||
#[ODM\Field(type: 'date_immutable')]
|
||||
public $version;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class LockDecimal128 extends AbstractVersionBase
|
||||
{
|
||||
/**
|
||||
* @ODM\Version
|
||||
* @ODM\Field(type="decimal128")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Version]
|
||||
#[ODM\Field(type: 'decimal128')]
|
||||
public $version;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class InvalidLockDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Lock
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Lock]
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $lock;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class InvalidVersionDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Version
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Version]
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $version;
|
||||
}
|
||||
|
||||
@@ -38,28 +38,19 @@ class MappedSuperclassTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\MappedSuperclass */
|
||||
#[ODM\MappedSuperclass]
|
||||
class MappedSuperclassBase
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var int|string|null
|
||||
*/
|
||||
/** @var int|string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $mapped1;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $mapped2;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=MappedSuperclassRelated1::class)
|
||||
*
|
||||
* @var MappedSuperclassRelated1|null
|
||||
*/
|
||||
/** @var MappedSuperclassRelated1|null */
|
||||
#[ODM\ReferenceOne(targetDocument: MappedSuperclassRelated1::class)]
|
||||
private $mappedRelated1;
|
||||
|
||||
/** @param int|string $val */
|
||||
@@ -95,21 +86,15 @@ class MappedSuperclassBase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class MappedSuperclassRelated1
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'none')]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $name;
|
||||
|
||||
public function setName(string $name): void
|
||||
@@ -133,21 +118,15 @@ class MappedSuperclassRelated1
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentSubClass extends MappedSuperclassBase
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'none')]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $name;
|
||||
|
||||
public function setName(string $name): void
|
||||
|
||||
@@ -77,55 +77,34 @@ class NestedCollectionsTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocWithNestedCollections
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="atomicSet", targetDocument=Documents\Phonebook::class)
|
||||
*
|
||||
* @var Collection<int, Phonebook>
|
||||
*/
|
||||
/** @var Collection<int, Phonebook> */
|
||||
#[ODM\EmbedMany(strategy: 'atomicSet', targetDocument: Phonebook::class)]
|
||||
public $atomicSet;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="atomicSetArray", targetDocument=Documents\Phonebook::class)
|
||||
*
|
||||
* @var Collection<int, Phonebook>
|
||||
*/
|
||||
/** @var Collection<int, Phonebook> */
|
||||
#[ODM\EmbedMany(strategy: 'atomicSetArray', targetDocument: Phonebook::class)]
|
||||
public $atomicSetArray;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="set", targetDocument=Documents\Phonebook::class)
|
||||
*
|
||||
* @var Collection<int, Phonebook>
|
||||
*/
|
||||
/** @var Collection<int, Phonebook> */
|
||||
#[ODM\EmbedMany(strategy: 'set', targetDocument: Phonebook::class)]
|
||||
public $set;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="setArray", targetDocument=Documents\Phonebook::class)
|
||||
*
|
||||
* @var Collection<int, Phonebook>
|
||||
*/
|
||||
/** @var Collection<int, Phonebook> */
|
||||
#[ODM\EmbedMany(strategy: 'setArray', targetDocument: Phonebook::class)]
|
||||
public $setArray;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="pushAll", targetDocument=Documents\Phonebook::class)
|
||||
*
|
||||
* @var Collection<int, Phonebook>
|
||||
*/
|
||||
/** @var Collection<int, Phonebook> */
|
||||
#[ODM\EmbedMany(strategy: 'pushAll', targetDocument: Phonebook::class)]
|
||||
public $pushAll;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="addToSet", targetDocument=Documents\Phonebook::class)
|
||||
*
|
||||
* @var Collection<int, Phonebook>
|
||||
*/
|
||||
/** @var Collection<int, Phonebook> */
|
||||
#[ODM\EmbedMany(strategy: 'addToSet', targetDocument: Phonebook::class)]
|
||||
public $addToSet;
|
||||
}
|
||||
|
||||
@@ -140,28 +140,19 @@ class NestedDocumentsTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class Hierarchy
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=Hierarchy::class)
|
||||
*
|
||||
* @var Collection<int, Hierarchy>|array<Hierarchy>
|
||||
*/
|
||||
/** @var Collection<int, Hierarchy>|array<Hierarchy> */
|
||||
#[ODM\ReferenceMany(targetDocument: self::class)]
|
||||
private $children = [];
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -227,21 +218,15 @@ class Hierarchy
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\MappedSuperclass */
|
||||
#[ODM\MappedSuperclass]
|
||||
class BaseCategory
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=ChildCategory::class)
|
||||
*
|
||||
* @var Collection<int, ChildCategory>
|
||||
*/
|
||||
/** @var Collection<int, ChildCategory> */
|
||||
#[ODM\EmbedMany(targetDocument: ChildCategory::class)]
|
||||
protected $children;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -303,14 +288,11 @@ class BaseCategory
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class Category extends BaseCategory
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
public function getId(): ?string
|
||||
@@ -319,55 +301,40 @@ class Category extends BaseCategory
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class ChildCategory extends BaseCategory
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class Order
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $title;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=ProductBackup::class)
|
||||
*
|
||||
* @var ProductBackup|null
|
||||
*/
|
||||
/** @var ProductBackup|null */
|
||||
#[ODM\EmbedOne(targetDocument: ProductBackup::class)]
|
||||
public $product;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class Product
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $title;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class ProductBackup extends Product
|
||||
{
|
||||
}
|
||||
|
||||
@@ -162,77 +162,50 @@ class OrphanRemovalEmbedTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class OrphanRemovalCascadeUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=OrphanRemovalCascadeProfile::class)
|
||||
*
|
||||
* @var OrphanRemovalCascadeProfile|null
|
||||
*/
|
||||
/** @var OrphanRemovalCascadeProfile|null */
|
||||
#[ODM\EmbedOne(targetDocument: OrphanRemovalCascadeProfile::class)]
|
||||
public $profile;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=OrphanRemovalCascadeProfile::class)
|
||||
*
|
||||
* @var Collection<int, OrphanRemovalCascadeProfile>|array<OrphanRemovalCascadeProfile>
|
||||
*/
|
||||
/** @var Collection<int, OrphanRemovalCascadeProfile>|array<OrphanRemovalCascadeProfile> */
|
||||
#[ODM\EmbedMany(targetDocument: OrphanRemovalCascadeProfile::class)]
|
||||
public $profileMany = [];
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class OrphanRemovalCascadeProfile
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=OrphanRemovalCascadeAddress::class, orphanRemoval=true, cascade={"all"})
|
||||
*
|
||||
* @var OrphanRemovalCascadeAddress|null
|
||||
*/
|
||||
/** @var OrphanRemovalCascadeAddress|null */
|
||||
#[ODM\ReferenceOne(targetDocument: OrphanRemovalCascadeAddress::class, orphanRemoval: true, cascade: ['all'])]
|
||||
public $address;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=OrphanRemovalCascadeAddress::class, orphanRemoval=true, cascade={"all"})
|
||||
*
|
||||
* @var Collection<int, OrphanRemovalCascadeAddress>
|
||||
*/
|
||||
/** @var Collection<int, OrphanRemovalCascadeAddress> */
|
||||
#[ODM\ReferenceMany(targetDocument: OrphanRemovalCascadeAddress::class, orphanRemoval: true, cascade: ['all'])]
|
||||
public $addressMany;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class OrphanRemovalCascadeAddress
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
@@ -303,59 +303,38 @@ class OrphanRemovalTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class OrphanRemovalUser
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=OrphanRemovalProfile::class, orphanRemoval=true)
|
||||
*
|
||||
* @var OrphanRemovalProfile|null
|
||||
*/
|
||||
/** @var OrphanRemovalProfile|null */
|
||||
#[ODM\ReferenceOne(targetDocument: OrphanRemovalProfile::class, orphanRemoval: true)]
|
||||
public $profile;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=OrphanRemovalProfile::class, orphanRemoval=false)
|
||||
*
|
||||
* @var OrphanRemovalProfile|null
|
||||
*/
|
||||
/** @var OrphanRemovalProfile|null */
|
||||
#[ODM\ReferenceOne(targetDocument: OrphanRemovalProfile::class, orphanRemoval: false)]
|
||||
public $profileNoOrphanRemoval;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=OrphanRemovalProfile::class, orphanRemoval=true)
|
||||
*
|
||||
* @var Collection<int, OrphanRemovalProfile>|array<OrphanRemovalProfile>
|
||||
*/
|
||||
/** @var Collection<int, OrphanRemovalProfile>|array<OrphanRemovalProfile> */
|
||||
#[ODM\ReferenceMany(targetDocument: OrphanRemovalProfile::class, orphanRemoval: true)]
|
||||
public $profileMany = [];
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=OrphanRemovalProfile::class, orphanRemoval=false)
|
||||
*
|
||||
* @var Collection<int, OrphanRemovalProfile>|array<OrphanRemovalProfile>
|
||||
*/
|
||||
/** @var Collection<int, OrphanRemovalProfile>|array<OrphanRemovalProfile> */
|
||||
#[ODM\ReferenceMany(targetDocument: OrphanRemovalProfile::class, orphanRemoval: false)]
|
||||
public $profileManyNoOrphanRemoval = [];
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class OrphanRemovalProfile
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
@@ -28,10 +28,8 @@ class PrePersistTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
class PrePersistTestDocument
|
||||
{
|
||||
/** @var int */
|
||||
@@ -40,27 +38,21 @@ class PrePersistTestDocument
|
||||
/** @var int */
|
||||
public $preUpdate;
|
||||
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $field;
|
||||
|
||||
/** @ODM\PrePersist */
|
||||
#[ODM\PrePersist]
|
||||
public function prePersist(): void
|
||||
{
|
||||
$this->prePersist++;
|
||||
}
|
||||
|
||||
/** @ODM\PreUpdate */
|
||||
#[ODM\PreUpdate]
|
||||
public function preUpdate(): void
|
||||
{
|
||||
$this->preUpdate++;
|
||||
|
||||
@@ -41,20 +41,14 @@ class RawTypeTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class RawType
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="raw")
|
||||
*
|
||||
* @var mixed
|
||||
*/
|
||||
/** @var mixed */
|
||||
#[ODM\Field(type: 'raw')]
|
||||
public $raw;
|
||||
}
|
||||
|
||||
@@ -78,21 +78,15 @@ class ReadOnlyDocumentTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(readOnly=true) */
|
||||
#[ODM\Document(readOnly: true)]
|
||||
class ReadOnlyDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var ObjectId|null
|
||||
*/
|
||||
/** @var ObjectId|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $value;
|
||||
|
||||
public function __construct(string $value)
|
||||
|
||||
@@ -110,16 +110,11 @@ class ReadPreferenceTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document()
|
||||
* @ODM\ReadPreference("nearest", tags={ { "dc"="east" } })
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\ReadPreference('nearest', tags: [['dc' => 'east']])]
|
||||
class DocumentWithReadPreference
|
||||
{
|
||||
/**
|
||||
* @ODM\Id()
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -91,26 +91,18 @@ class ReferenceDiscriminatorsTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document(collection="rdt_action")
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorField("discriminator")
|
||||
* @ODM\DiscriminatorMap({"action"=Action::class, "commentable_action"=CommentableAction::class})
|
||||
*/
|
||||
#[ODM\Document(collection: 'rdt_action')]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorField('discriminator')]
|
||||
#[ODM\DiscriminatorMap(['action' => Action::class, 'commentable_action' => CommentableAction::class])]
|
||||
class Action
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
protected $type;
|
||||
|
||||
public function __construct(string $type)
|
||||
@@ -129,14 +121,11 @@ class Action
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class CommentableAction extends Action
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="collection") *
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
/** @var string[] */
|
||||
#[ODM\Field(type: 'collection')]
|
||||
protected $comments = [];
|
||||
|
||||
/** @param string[] $comments */
|
||||
@@ -154,21 +143,15 @@ class CommentableAction extends Action
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\MappedSuperclass */
|
||||
#[ODM\MappedSuperclass]
|
||||
abstract class ActivityStreamItem
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=Action::class)
|
||||
*
|
||||
* @var Action
|
||||
*/
|
||||
/** @var Action */
|
||||
#[ODM\ReferenceOne(targetDocument: Action::class)]
|
||||
protected $action;
|
||||
|
||||
public function __construct(Action $action)
|
||||
@@ -187,17 +170,12 @@ abstract class ActivityStreamItem
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\MappedSuperclass
|
||||
* @ODM\UniqueIndex(keys={"groupId"="asc", "action.$id"="asc"}, options={"unique"=true})
|
||||
*/
|
||||
#[ODM\MappedSuperclass]
|
||||
#[ODM\UniqueIndex(keys: ['groupId' => 'asc', 'action.$id' => 'asc'], options: ['unique' => true])]
|
||||
abstract class GroupActivityStreamItem extends ActivityStreamItem
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
protected $groupId;
|
||||
|
||||
public function __construct(Action $action, string $groupId)
|
||||
@@ -213,27 +191,22 @@ abstract class GroupActivityStreamItem extends ActivityStreamItem
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="rdt_group_main_activity_stream_item") */
|
||||
#[ODM\Document(collection: 'rdt_group_main_activity_stream_item')]
|
||||
class GroupMainActivityStreamItem extends GroupActivityStreamItem
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="rdt_group_members_activity_stream_item") */
|
||||
#[ODM\Document(collection: 'rdt_group_members_activity_stream_item')]
|
||||
class GroupMembersActivityStreamItem extends GroupActivityStreamItem
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\MappedSuperclass
|
||||
* @ODM\UniqueIndex(keys={"userId"="asc", "action.$id"="asc"}, options={"unique"=true})
|
||||
*/
|
||||
#[ODM\MappedSuperclass]
|
||||
#[ODM\UniqueIndex(keys: ['userId' => 'asc', 'action.$id' => 'asc'], options: ['unique' => true])]
|
||||
abstract class UserActivityStreamItem extends ActivityStreamItem
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
protected $userId;
|
||||
|
||||
public function __construct(Action $action, string $userId)
|
||||
@@ -249,12 +222,12 @@ abstract class UserActivityStreamItem extends ActivityStreamItem
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="rdt_user_dashboard_activity_stream_item") */
|
||||
#[ODM\Document(collection: 'rdt_user_dashboard_activity_stream_item')]
|
||||
class UserDashboardActivityStreamItem extends UserActivityStreamItem
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="rdt_user_profile_activity_stream_item") */
|
||||
#[ODM\Document(collection: 'rdt_user_profile_activity_stream_item')]
|
||||
class UserProfileActivityStreamItem extends UserActivityStreamItem
|
||||
{
|
||||
}
|
||||
|
||||
@@ -507,62 +507,44 @@ class ReferencesTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentWithArrayReference
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentWithArrayId::class)
|
||||
*
|
||||
* @var DocumentWithArrayId|null
|
||||
*/
|
||||
/** @var DocumentWithArrayId|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentWithArrayId::class)]
|
||||
public $referenceOne;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentWithArrayId
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none", options={"type"="hash"})
|
||||
*
|
||||
* @var array<string, int>
|
||||
*/
|
||||
/** @var array<string, int> */
|
||||
#[ODM\Id(strategy: 'none', options: ['type' => 'hash'])]
|
||||
public $id;
|
||||
}
|
||||
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentWithMongoBinDataReference
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=DocumentWithMongoBinDataId::class)
|
||||
*
|
||||
* @var DocumentWithMongoBinDataId|null
|
||||
*/
|
||||
/** @var DocumentWithMongoBinDataId|null */
|
||||
#[ODM\ReferenceOne(targetDocument: DocumentWithMongoBinDataId::class)]
|
||||
public $referenceOne;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class DocumentWithMongoBinDataId
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none", options={"type"="bin"})
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id(strategy: 'none', options: ['type' => 'bin'])]
|
||||
public $id;
|
||||
}
|
||||
|
||||
|
||||
@@ -82,46 +82,31 @@ class SplObjectHashCollisionsTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class SplColDoc
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne
|
||||
*
|
||||
* @var object|null
|
||||
*/
|
||||
/** @var object|null */
|
||||
#[ODM\EmbedOne]
|
||||
public $one;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany
|
||||
*
|
||||
* @var Collection<int, object>|array<object>
|
||||
*/
|
||||
/** @var Collection<int, object>|array<object> */
|
||||
#[ODM\EmbedMany]
|
||||
public $many = [];
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class SplColEmbed
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
|
||||
@@ -52,73 +52,52 @@ class TargetDocumentTest extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class TargetDocumentTestDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=Doctrine\ODM\MongoDB\Tests\Functional\TargetDocumentTestReference::class)
|
||||
*
|
||||
* @var TargetDocumentTestReference|null
|
||||
*/
|
||||
/** @var TargetDocumentTestReference|null */
|
||||
#[ODM\ReferenceOne(targetDocument: TargetDocumentTestReference::class)]
|
||||
public $reference;
|
||||
}
|
||||
|
||||
/** @ODM\MappedSuperclass */
|
||||
#[ODM\MappedSuperclass]
|
||||
abstract class AbstractTargetDocumentTestReference
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class TargetDocumentTestReference extends AbstractTargetDocumentTestReference
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class InvalidTargetDocumentTestDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument="Doctrine\ODM\MongoDB\Tests\Functional\SomeInvalidClass")
|
||||
*
|
||||
* @var object|null
|
||||
*/
|
||||
/** @var object|null */
|
||||
#[ODM\ReferenceOne(targetDocument: 'Doctrine\ODM\MongoDB\Tests\Functional\SomeInvalidClass')]
|
||||
public $reference;
|
||||
}
|
||||
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class InvalidDiscriminatorTargetsTestDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(discriminatorField="referencedClass", discriminatorMap={"Foo"="Doctrine\ODM\MongoDB\Tests\Functional\SomeInvalidClass"})
|
||||
*
|
||||
* @var object|null
|
||||
*/
|
||||
/** @var object|null */
|
||||
#[ODM\ReferenceOne(discriminatorField: 'referencedClass', discriminatorMap: ['Foo' => 'Doctrine\ODM\MongoDB\Tests\Functional\SomeInvalidClass'])]
|
||||
public $reference;
|
||||
}
|
||||
|
||||
@@ -43,21 +43,15 @@ class GH1011Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1011Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH1011Embedded::class, strategy="set")
|
||||
*
|
||||
* @var Collection<int, GH1011Embedded>
|
||||
*/
|
||||
/** @var Collection<int, GH1011Embedded> */
|
||||
#[ODM\EmbedMany(targetDocument: GH1011Embedded::class, strategy: 'set')]
|
||||
public $embeds;
|
||||
|
||||
public function __construct()
|
||||
@@ -66,14 +60,11 @@ class GH1011Document
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1011Embedded
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
|
||||
@@ -51,25 +51,19 @@ class GH1017Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1017Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1017EmbeddedDocument::class)
|
||||
*
|
||||
* @var GH1017EmbeddedDocument|null
|
||||
*/
|
||||
/** @var GH1017EmbeddedDocument|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1017EmbeddedDocument::class)]
|
||||
public $embedded;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1017EmbeddedDocument
|
||||
{
|
||||
}
|
||||
|
||||
@@ -57,21 +57,15 @@ class GH1058Listener
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1058PersistDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $value;
|
||||
|
||||
public function getId(): ?string
|
||||
@@ -85,21 +79,15 @@ class GH1058PersistDocument
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1058UpsertDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $value;
|
||||
|
||||
public function getId(): ?string
|
||||
|
||||
@@ -19,34 +19,23 @@ class GH1107Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
class GH1107ParentClass
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="NONE")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id(strategy: 'NONE')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1107ChildClass extends GH1107ParentClass
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="AUTO")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id(strategy: 'AUTO')]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -31,21 +31,15 @@ class GH1117Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1117Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="set", targetDocument=GH1117EmbeddedDocument::class)
|
||||
*
|
||||
* @var Collection<int, GH1117EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH1117EmbeddedDocument> */
|
||||
#[ODM\EmbedMany(strategy: 'set', targetDocument: GH1117EmbeddedDocument::class)]
|
||||
public $embeds;
|
||||
|
||||
public function __construct()
|
||||
@@ -54,14 +48,11 @@ class GH1117Document
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1117EmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $value;
|
||||
|
||||
public function __construct(string $value)
|
||||
|
||||
@@ -50,21 +50,15 @@ class GH1138Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1138Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
|
||||
@@ -35,31 +35,22 @@ class GH1152Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1152Parent
|
||||
{
|
||||
public const CLASSNAME = self::class;
|
||||
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1152Child::class)
|
||||
*
|
||||
* @var GH1152Child|null
|
||||
*/
|
||||
/** @var GH1152Child|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1152Child::class)]
|
||||
public $child;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\EmbeddedDocument
|
||||
*
|
||||
* @psalm-import-type AssociationFieldMapping from ClassMetadata
|
||||
*/
|
||||
/** @psalm-import-type AssociationFieldMapping from ClassMetadata */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1152Child
|
||||
{
|
||||
/** @psalm-var array{0: AssociationFieldMapping, 1: object|null, 2: string}|null */
|
||||
|
||||
@@ -31,24 +31,16 @@ class GH1225Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
class GH1225Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="atomicSet", targetDocument=GH1225EmbeddedDocument::class)
|
||||
*
|
||||
* @var Collection<int, GH1225EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH1225EmbeddedDocument> */
|
||||
#[ODM\EmbedMany(strategy: 'atomicSet', targetDocument: GH1225EmbeddedDocument::class)]
|
||||
public $embeds;
|
||||
|
||||
public function __construct()
|
||||
@@ -56,20 +48,17 @@ class GH1225Document
|
||||
$this->embeds = new ArrayCollection();
|
||||
}
|
||||
|
||||
/** @ODM\PreUpdate */
|
||||
#[ODM\PreUpdate]
|
||||
public function exampleHook(): void
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1225EmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $value;
|
||||
|
||||
public function __construct(string $value)
|
||||
|
||||
@@ -129,23 +129,17 @@ class GH1229Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1229Parent
|
||||
{
|
||||
public const CLASSNAME = self::class;
|
||||
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(discriminatorField="_class")
|
||||
*
|
||||
* @var Collection<int, GH1229Child>
|
||||
*/
|
||||
/** @var Collection<int, GH1229Child> */
|
||||
#[ODM\EmbedMany(discriminatorField: '_class')]
|
||||
protected $children;
|
||||
|
||||
public function __construct()
|
||||
@@ -183,23 +177,17 @@ class GH1229Parent
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1229Child
|
||||
{
|
||||
public const CLASSNAME = self::class;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
/** @var int */
|
||||
#[ODM\Field(type: 'int')]
|
||||
public $order = 0;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -221,7 +209,7 @@ class GH1229Child
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1229ChildTypeB extends GH1229Child
|
||||
{
|
||||
public const CLASSNAME = self::class;
|
||||
|
||||
@@ -35,34 +35,21 @@ class GH1232Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1232Post
|
||||
{
|
||||
public const CLASSNAME = self::class;
|
||||
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH1232Comment::class, mappedBy="post", cascade={"remove"})
|
||||
*
|
||||
* @var Collection<int, GH1232Comment>
|
||||
*/
|
||||
/** @var Collection<int, GH1232Comment> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH1232Comment::class, mappedBy: 'post', cascade: ['remove'])]
|
||||
protected $comments;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(
|
||||
* targetDocument=GH1232Comment::class,
|
||||
* mappedBy="post",
|
||||
* repositoryMethod="getLongComments",
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, GH1232Comment>
|
||||
*/
|
||||
/** @var Collection<int, GH1232Comment> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH1232Comment::class, mappedBy: 'post', repositoryMethod: 'getLongComments')]
|
||||
protected $longComments;
|
||||
|
||||
public function __construct()
|
||||
@@ -71,21 +58,15 @@ class GH1232Post
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(repositoryClass="GH1232CommentRepository") */
|
||||
#[ODM\Document(repositoryClass: 'GH1232CommentRepository')]
|
||||
class GH1232Comment
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH1232Post::class)
|
||||
*
|
||||
* @var GH1232Post|null
|
||||
*/
|
||||
/** @var GH1232Post|null */
|
||||
#[ODM\ReferenceOne(targetDocument: GH1232Post::class)]
|
||||
public $post;
|
||||
}
|
||||
|
||||
|
||||
@@ -181,21 +181,15 @@ class GH1275Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="item") */
|
||||
#[ODM\Document(collection: 'item')]
|
||||
class Item
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/** @var Container */
|
||||
@@ -208,21 +202,15 @@ class Item
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class Element
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -231,95 +219,43 @@ class Element
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="container") */
|
||||
#[ODM\Document(collection: 'container')]
|
||||
class Container
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/** @ODM\ReferenceMany(
|
||||
* targetDocument=Item::class,
|
||||
* cascade={"refresh","persist"},
|
||||
* orphanRemoval="true",
|
||||
* strategy="atomicSet"
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, Item>
|
||||
*/
|
||||
/** @var Collection<int, Item> */
|
||||
#[ODM\ReferenceMany(targetDocument: Item::class, cascade: ['refresh', 'persist'], orphanRemoval: true, strategy: 'atomicSet')]
|
||||
public $items;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(
|
||||
* targetDocument=Item::class,
|
||||
* cascade={"refresh"}
|
||||
* )
|
||||
*
|
||||
* @var Item
|
||||
*/
|
||||
/** @var Item */
|
||||
#[ODM\ReferenceOne(targetDocument: Item::class, cascade: ['refresh'])]
|
||||
public $firstItem;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(
|
||||
* targetDocument=Element::class,
|
||||
* strategy="addToSet"
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, Element>
|
||||
*/
|
||||
/** @var Collection<int, Element> */
|
||||
#[ODM\EmbedMany(targetDocument: Element::class, strategy: 'addToSet')]
|
||||
public $addToSet;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(
|
||||
* targetDocument=Element::class,
|
||||
* strategy="set"
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, Element>
|
||||
*/
|
||||
/** @var Collection<int, Element> */
|
||||
#[ODM\EmbedMany(targetDocument: Element::class, strategy: 'set')]
|
||||
public $set;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(
|
||||
* targetDocument=Element::class,
|
||||
* strategy="setArray"
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, Element>
|
||||
*/
|
||||
/** @var Collection<int, Element> */
|
||||
#[ODM\EmbedMany(targetDocument: Element::class, strategy: 'setArray')]
|
||||
public $setArray;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(
|
||||
* targetDocument=Element::class,
|
||||
* strategy="pushAll"
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, Element>
|
||||
*/
|
||||
/** @var Collection<int, Element> */
|
||||
#[ODM\EmbedMany(targetDocument: Element::class, strategy: 'pushAll')]
|
||||
public $pushAll;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(
|
||||
* targetDocument=Element::class,
|
||||
* strategy="atomicSet"
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, Element>
|
||||
*/
|
||||
/** @var Collection<int, Element> */
|
||||
#[ODM\EmbedMany(targetDocument: Element::class, strategy: 'atomicSet')]
|
||||
public $atomicSet;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(
|
||||
* targetDocument=Element::class,
|
||||
* strategy="atomicSetArray"
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, Element>
|
||||
*/
|
||||
/** @var Collection<int, Element> */
|
||||
#[ODM\EmbedMany(targetDocument: Element::class, strategy: 'atomicSetArray')]
|
||||
public $atomicSetArray;
|
||||
|
||||
public function __construct()
|
||||
|
||||
@@ -37,21 +37,15 @@ class GH1294Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1294User
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="UUID", type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id(strategy: 'UUID', type: 'string')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name = '';
|
||||
|
||||
public function getId(): ?string
|
||||
|
||||
@@ -46,94 +46,61 @@ class GH1344Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1344Main
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1344Embedded::class)
|
||||
*
|
||||
* @var GH1344Embedded|null
|
||||
*/
|
||||
/** @var GH1344Embedded|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1344Embedded::class)]
|
||||
public $embedded1;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1344Embedded::class)
|
||||
*
|
||||
* @var GH1344Embedded|null
|
||||
*/
|
||||
/** @var GH1344Embedded|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1344Embedded::class)]
|
||||
public $embedded2;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\EmbeddedDocument
|
||||
* @ODM\Index(keys={"property"="asc"}, name="embedded")
|
||||
*/
|
||||
#[ODM\EmbeddedDocument]
|
||||
#[ODM\Index(keys: ['property' => 'asc'], name: 'embedded')]
|
||||
class GH1344Embedded
|
||||
{
|
||||
/**
|
||||
* @ODM\Field
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field]
|
||||
public $property;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1344EmbeddedNested::class)
|
||||
*
|
||||
* @var GH1344EmbeddedNested|null
|
||||
*/
|
||||
/** @var GH1344EmbeddedNested|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1344EmbeddedNested::class)]
|
||||
public $embedded;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\EmbeddedDocument
|
||||
* @ODM\Index(keys={"property"="asc"}, name="nested")
|
||||
*/
|
||||
#[ODM\EmbeddedDocument]
|
||||
#[ODM\Index(keys: ['property' => 'asc'], name: 'nested')]
|
||||
class GH1344EmbeddedNested
|
||||
{
|
||||
/**
|
||||
* @ODM\Field
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field]
|
||||
public $property;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1344LongIndexName
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1344LongIndexNameEmbedded::class)
|
||||
*
|
||||
* @var GH1344LongIndexNameEmbedded|null
|
||||
*/
|
||||
/** @var GH1344LongIndexNameEmbedded|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1344LongIndexNameEmbedded::class)]
|
||||
public $embedded1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\EmbeddedDocument
|
||||
* @ODM\Index(keys={"property"="asc"}, name="this_is_a_really_long_name_that_will_cause_problems_for_whoever_tries_to_use_it_whether_in_an_embedded_field_or_not")
|
||||
*/
|
||||
#[ODM\EmbeddedDocument]
|
||||
#[ODM\Index(keys: ['property' => 'asc'], name: 'this_is_a_really_long_name_that_will_cause_problems_for_whoever_tries_to_use_it_whether_in_an_embedded_field_or_not')]
|
||||
class GH1344LongIndexNameEmbedded
|
||||
{
|
||||
/**
|
||||
* @ODM\Field
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field]
|
||||
public $property;
|
||||
}
|
||||
|
||||
@@ -41,21 +41,15 @@ class GH1346Test extends BaseTestCase
|
||||
}
|
||||
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1346Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH1346ReferencedDocument::class)
|
||||
*
|
||||
* @var Collection<int, GH1346ReferencedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH1346ReferencedDocument> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH1346ReferencedDocument::class)]
|
||||
protected $references;
|
||||
|
||||
public function __construct()
|
||||
@@ -80,21 +74,15 @@ class GH1346Document
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1346ReferencedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $test;
|
||||
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
public function setTest(string $test): void
|
||||
|
||||
@@ -102,46 +102,31 @@ class GH1418Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1418Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'none')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1418Embedded::class)
|
||||
*
|
||||
* @var GH1418Embedded|null
|
||||
*/
|
||||
/** @var GH1418Embedded|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1418Embedded::class)]
|
||||
public $embedOne;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH1418Embedded::class)
|
||||
*
|
||||
* @var Collection<int, GH1418Embedded>
|
||||
*/
|
||||
/** @var Collection<int, GH1418Embedded> */
|
||||
#[ODM\EmbedMany(targetDocument: GH1418Embedded::class)]
|
||||
public $embedMany;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1418Embedded
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none", type="int")
|
||||
* @ODM\AlsoLoad("sourceId")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'none', type: 'int')]
|
||||
#[ODM\AlsoLoad('sourceId')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
@@ -29,36 +29,27 @@ class GH1428Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1428Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1428EmbeddedDocument::class)
|
||||
*
|
||||
* @var GH1428EmbeddedDocument|null
|
||||
*/
|
||||
/** @var GH1428EmbeddedDocument|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1428EmbeddedDocument::class)]
|
||||
public $embedded;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1428EmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1428NestedEmbeddedDocument::class, name="shortNameThatDoesntExist")
|
||||
*
|
||||
* @var GH1428NestedEmbeddedDocument|null
|
||||
*/
|
||||
/** @var GH1428NestedEmbeddedDocument|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1428NestedEmbeddedDocument::class, name: 'shortNameThatDoesntExist')]
|
||||
public $nestedEmbedded;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1428NestedEmbeddedDocument
|
||||
{
|
||||
}
|
||||
|
||||
@@ -67,38 +67,26 @@ class GH1435Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document() */
|
||||
#[ODM\Document]
|
||||
class GH1435Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id()
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string", nullable=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string', nullable: true)]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/** @ODM\Document() */
|
||||
#[ODM\Document]
|
||||
class GH1435DocumentIncrement
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="increment")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'increment')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string", nullable=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string', nullable: true)]
|
||||
public $name;
|
||||
}
|
||||
|
||||
@@ -95,35 +95,23 @@ class GH1525Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="document_test") */
|
||||
#[ODM\Document(collection: 'document_test')]
|
||||
class GH1525Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1525Embedded::class)
|
||||
*
|
||||
* @var GH1525Embedded|null
|
||||
*/
|
||||
/** @var GH1525Embedded|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1525Embedded::class)]
|
||||
public $embedded;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH1525Embedded::class)
|
||||
*
|
||||
* @var Collection<int, GH1525Embedded>
|
||||
*/
|
||||
/** @var Collection<int, GH1525Embedded> */
|
||||
#[ODM\EmbedMany(targetDocument: GH1525Embedded::class)]
|
||||
public $embedMany;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -133,28 +121,19 @@ class GH1525Document
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="document_test_with_auto_ids") */
|
||||
#[ODM\Document(collection: 'document_test_with_auto_ids')]
|
||||
class GH1525DocumentIdStrategyNone
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="NONE")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Id(strategy: 'NONE')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH1525Embedded::class)
|
||||
*
|
||||
* @var GH1525Embedded|null
|
||||
*/
|
||||
/** @var GH1525Embedded|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH1525Embedded::class)]
|
||||
public $embedded;
|
||||
|
||||
public function __construct(string $id, string $name)
|
||||
@@ -164,14 +143,11 @@ class GH1525DocumentIdStrategyNone
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1525Embedded
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
|
||||
@@ -43,53 +43,35 @@ class GH1572Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1572Blog
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH1572Post::class, mappedBy="blog")
|
||||
*
|
||||
* @var Collection<int, GH1572Post>|array<GH1572Post>
|
||||
*/
|
||||
/** @var Collection<int, GH1572Post>|array<GH1572Post> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH1572Post::class, mappedBy: 'blog')]
|
||||
public $allPosts = [];
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH1572Post::class, mappedBy="blog", sort={"id"="asc"}, limit=2)
|
||||
*
|
||||
* @var Collection<int, GH1572Post>|array<GH1572Post>
|
||||
*/
|
||||
/** @var Collection<int, GH1572Post>|array<GH1572Post> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH1572Post::class, mappedBy: 'blog', sort: ['id' => 'asc'], limit: 2)]
|
||||
public $latestPosts = [];
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH1572Post::class, repositoryMethod="getPostsForBlog")
|
||||
*
|
||||
* @var Collection<int, GH1572Post>|array<GH1572Post>
|
||||
*/
|
||||
/** @var Collection<int, GH1572Post>|array<GH1572Post> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH1572Post::class, repositoryMethod: 'getPostsForBlog')]
|
||||
public $latestPostsRepositoryMethod = [];
|
||||
}
|
||||
|
||||
/** @ODM\Document(repositoryClass=GH1572PostRepository::class) */
|
||||
#[ODM\Document(repositoryClass: GH1572PostRepository::class)]
|
||||
class GH1572Post
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH1572Blog::class)
|
||||
*
|
||||
* @var GH1572Blog
|
||||
*/
|
||||
/** @var GH1572Blog */
|
||||
#[ODM\ReferenceOne(targetDocument: GH1572Blog::class)]
|
||||
public $blog;
|
||||
|
||||
public function __construct(GH1572Blog $blog)
|
||||
|
||||
@@ -34,21 +34,15 @@ class GH1674Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1674Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var ObjectId|null
|
||||
*/
|
||||
/** @var ObjectId|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH1674Embedded::class)
|
||||
*
|
||||
* @var Collection<int, GH1674Embedded>
|
||||
*/
|
||||
/** @var Collection<int, GH1674Embedded> */
|
||||
#[ODM\EmbedMany(targetDocument: GH1674Embedded::class)]
|
||||
protected $embedded;
|
||||
|
||||
public function __construct()
|
||||
@@ -58,13 +52,10 @@ class GH1674Document
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH1674Embedded
|
||||
{
|
||||
/**
|
||||
* @ODM\Field
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -58,32 +58,23 @@ class GH1775Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\MappedSuperclass */
|
||||
#[ODM\MappedSuperclass]
|
||||
class GH1775MetaDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
/** @var int */
|
||||
#[ODM\Field(type: 'int')]
|
||||
public $version = 5;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1775Image
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
public function __construct()
|
||||
@@ -91,39 +82,27 @@ class GH1775Image
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1775Blog
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH1775Post::class, inversedBy="blogs")
|
||||
*
|
||||
* @var Collection<int, GH1775Post>|array<GH1775Post>
|
||||
*/
|
||||
/** @var Collection<int, GH1775Post>|array<GH1775Post> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH1775Post::class, inversedBy: 'blogs')]
|
||||
public $posts = [];
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1775Post extends GH1775MetaDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH1775Image::class, storeAs=ClassMetadata::REFERENCE_STORE_AS_ID)
|
||||
*
|
||||
* @var Collection<int, GH1775Image>
|
||||
*/
|
||||
/** @var Collection<int, GH1775Image> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH1775Image::class, storeAs: ClassMetadata::REFERENCE_STORE_AS_ID)]
|
||||
protected $images;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH1775Blog::class, mappedBy="posts")
|
||||
*
|
||||
* @var Collection<int, GH1775Blog>
|
||||
*/
|
||||
/** @var Collection<int, GH1775Blog> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH1775Blog::class, mappedBy: 'posts')]
|
||||
protected $blogs;
|
||||
|
||||
/**
|
||||
|
||||
@@ -65,85 +65,64 @@ class GH1962Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\MappedSuperclass()
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorMap({
|
||||
* "foo"=GH1962FooDocument::class,
|
||||
* "bar"=GH1962BarDocument::class,
|
||||
* "baz"=GH1962BazDocument::class
|
||||
* })
|
||||
*/
|
||||
#[ODM\MappedSuperclass]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorMap(['foo' => GH1962FooDocument::class, 'bar' => GH1962BarDocument::class, 'baz' => GH1962BazDocument::class])]
|
||||
class GH1962Superclass
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1962FooDocument extends GH1962Superclass
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\MappedSuperclass()
|
||||
* @ODM\DiscriminatorMap({
|
||||
* "bar"=GH1962BarDocument::class,
|
||||
* "baz"=GH1962BazDocument::class
|
||||
* })
|
||||
*/
|
||||
#[ODM\MappedSuperclass]
|
||||
#[ODM\DiscriminatorMap(['bar' => GH1962BarDocument::class, 'baz' => GH1962BazDocument::class])]
|
||||
class GH1962BarSuperclass extends GH1962Superclass
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1962BarDocument extends GH1962BarSuperclass
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1962BazDocument extends GH1962BarSuperclass
|
||||
{
|
||||
}
|
||||
/**
|
||||
* @ODM\MappedSuperclass()
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
*/
|
||||
#[ODM\MappedSuperclass]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
class GH1962SuperclassWithoutDiscriminatorMap
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1962FooDocumentWithoutDiscriminatorMap extends GH1962SuperclassWithoutDiscriminatorMap
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\MappedSuperclass() */
|
||||
#[ODM\MappedSuperclass]
|
||||
class GH1962BarSuperclassWithoutDiscriminatorMap extends GH1962SuperclassWithoutDiscriminatorMap
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1962BarDocumentWithoutDiscriminatorMap extends GH1962BarSuperclassWithoutDiscriminatorMap
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\DiscriminatorValue(GH1962BazDocumentWithoutDiscriminatorMap::class)
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\DiscriminatorValue(GH1962BazDocumentWithoutDiscriminatorMap::class)]
|
||||
class GH1962BazDocumentWithoutDiscriminatorMap extends GH1962BarSuperclassWithoutDiscriminatorMap
|
||||
{
|
||||
}
|
||||
|
||||
@@ -24,13 +24,10 @@ class GH1964Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1964Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
}
|
||||
|
||||
@@ -30,21 +30,15 @@ class GH1990Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH1990Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH1990Document::class)
|
||||
*
|
||||
* @var GH1990Document|null
|
||||
*/
|
||||
/** @var GH1990Document|null */
|
||||
#[ODM\ReferenceOne(targetDocument: self::class)]
|
||||
private $parent;
|
||||
|
||||
public function __construct(?GH1990Document $parent)
|
||||
|
||||
@@ -85,25 +85,17 @@ class GH2002Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorField("class")
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorField('class')]
|
||||
class GH2002DocumentA
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH2002DocumentA::class, cascade="all")
|
||||
*
|
||||
* @var GH2002DocumentA
|
||||
*/
|
||||
/** @var GH2002DocumentA */
|
||||
#[ODM\ReferenceOne(targetDocument: self::class, cascade: 'all')]
|
||||
public $parentDocument;
|
||||
|
||||
public function __construct(?GH2002DocumentA $parentDocument = null)
|
||||
@@ -112,26 +104,20 @@ class GH2002DocumentA
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH2002DocumentB extends GH2002DocumentA
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH2002ReferenceWithoutTargetDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(cascade="all")
|
||||
*
|
||||
* @var GH2002DocumentA
|
||||
*/
|
||||
/** @var GH2002DocumentA */
|
||||
#[ODM\ReferenceOne(cascade: 'all')]
|
||||
public $parentDocument;
|
||||
|
||||
public function __construct(?GH2002DocumentA $parentDocument = null)
|
||||
@@ -140,21 +126,15 @@ class GH2002ReferenceWithoutTargetDocument
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH2002ReferenceWithoutTargetDocumentWithDiscriminatorField
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(discriminatorField="referencedClass", cascade="all")
|
||||
*
|
||||
* @var GH2002DocumentA
|
||||
*/
|
||||
/** @var GH2002DocumentA */
|
||||
#[ODM\ReferenceOne(discriminatorField: 'referencedClass', cascade: 'all')]
|
||||
public $parentDocument;
|
||||
|
||||
public function __construct(?GH2002DocumentA $parentDocument = null)
|
||||
@@ -163,21 +143,15 @@ class GH2002ReferenceWithoutTargetDocumentWithDiscriminatorField
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH2002ReferenceWithDiscriminatorField
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH2002DocumentA::class, discriminatorField="referencedClass", cascade="all")
|
||||
*
|
||||
* @var GH2002DocumentA
|
||||
*/
|
||||
/** @var GH2002DocumentA */
|
||||
#[ODM\ReferenceOne(targetDocument: GH2002DocumentA::class, discriminatorField: 'referencedClass', cascade: 'all')]
|
||||
public $parentDocument;
|
||||
|
||||
public function __construct(?GH2002DocumentA $parentDocument = null)
|
||||
@@ -186,21 +160,15 @@ class GH2002ReferenceWithDiscriminatorField
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH2002ReferenceWithPartialDiscriminatorMap
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(discriminatorField="referencedClass", discriminatorMap={"B"=GH2002DocumentB::class}, cascade="all")
|
||||
*
|
||||
* @var GH2002DocumentA
|
||||
*/
|
||||
/** @var GH2002DocumentA */
|
||||
#[ODM\ReferenceOne(discriminatorField: 'referencedClass', discriminatorMap: ['B' => GH2002DocumentB::class], cascade: 'all')]
|
||||
public $parentDocument;
|
||||
|
||||
public function __construct(?GH2002DocumentA $parentDocument = null)
|
||||
@@ -209,26 +177,18 @@ class GH2002ReferenceWithPartialDiscriminatorMap
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\DiscriminatorMap({"A"=GH2002DocumentWithDiscriminatorMapA::class})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\DiscriminatorMap(['A' => GH2002DocumentWithDiscriminatorMapA::class])]
|
||||
class GH2002DocumentWithDiscriminatorMapA
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH2002DocumentWithDiscriminatorMapA::class, cascade="all")
|
||||
*
|
||||
* @var GH2002DocumentWithDiscriminatorMapA
|
||||
*/
|
||||
/** @var GH2002DocumentWithDiscriminatorMapA */
|
||||
#[ODM\ReferenceOne(targetDocument: self::class, cascade: 'all')]
|
||||
public $parentDocument;
|
||||
|
||||
public function __construct(?GH2002DocumentWithDiscriminatorMapA $parentDocument = null)
|
||||
@@ -237,7 +197,7 @@ class GH2002DocumentWithDiscriminatorMapA
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH2002DocumentWithDiscriminatorMapB extends GH2002DocumentWithDiscriminatorMapA
|
||||
{
|
||||
}
|
||||
|
||||
@@ -38,28 +38,23 @@ class GH2157Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document(collection="documents")
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\DiscriminatorMap({"firsttype"=GH2157FirstType::class, "secondtype"=GH2157SecondType::class})
|
||||
*/
|
||||
#[ODM\Document(collection: 'documents')]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\DiscriminatorMap(['firsttype' => GH2157FirstType::class, 'secondtype' => GH2157SecondType::class])]
|
||||
abstract class GH2157Abstract
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH2157FirstType extends GH2157Abstract
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH2157SecondType extends GH2157Abstract
|
||||
{
|
||||
}
|
||||
|
||||
@@ -38,35 +38,23 @@ class GH232Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class Product
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=Price::class)
|
||||
*
|
||||
* @var Collection<int, Price>|array<Price>
|
||||
*/
|
||||
/** @var Collection<int, Price>|array<Price> */
|
||||
#[ODM\EmbedMany(targetDocument: Price::class)]
|
||||
public $prices = [];
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=SubProduct::class)
|
||||
*
|
||||
* @var Collection<int, SubProduct>|array<SubProduct>
|
||||
*/
|
||||
/** @var Collection<int, SubProduct>|array<SubProduct> */
|
||||
#[ODM\EmbedMany(targetDocument: SubProduct::class)]
|
||||
public $subproducts = [];
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -76,14 +64,11 @@ class Product
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class SubProduct
|
||||
{
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=Price::class)
|
||||
*
|
||||
* @var Collection<int, Price>|array<Price>
|
||||
*/
|
||||
/** @var Collection<int, Price>|array<Price> */
|
||||
#[ODM\EmbedMany(targetDocument: Price::class)]
|
||||
public $prices = [];
|
||||
|
||||
public function __construct()
|
||||
@@ -92,13 +77,10 @@ class SubProduct
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class Price
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $price;
|
||||
}
|
||||
|
||||
@@ -31,31 +31,22 @@ class GH245Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH245Order
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="NONE")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Id(strategy: 'NONE')]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH245OrderLog
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH245Order::class)
|
||||
*
|
||||
* @var GH245Order|null
|
||||
*/
|
||||
/** @var GH245Order|null */
|
||||
#[ODM\ReferenceOne(targetDocument: GH245Order::class)]
|
||||
public $order;
|
||||
}
|
||||
|
||||
@@ -61,28 +61,19 @@ class GH267Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="users") */
|
||||
#[ODM\Document(collection: 'users')]
|
||||
class GH267User
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(name="company", targetDocument=GH267Company::class, inversedBy="users")
|
||||
*
|
||||
* @var GH267Company|null
|
||||
*/
|
||||
/** @var GH267Company|null */
|
||||
#[ODM\ReferenceOne(name: 'company', targetDocument: GH267Company::class, inversedBy: 'users')]
|
||||
protected $company;
|
||||
|
||||
public function __construct(string $name)
|
||||
@@ -121,26 +112,18 @@ class GH267User
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document(collection="companies")
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\DiscriminatorMap({"seller"=GH267SellerCompany::class, "buyer"=GH267BuyerCompany::class})
|
||||
*/
|
||||
#[ODM\Document(collection: 'companies')]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\DiscriminatorMap(['seller' => GH267SellerCompany::class, 'buyer' => GH267BuyerCompany::class])]
|
||||
class GH267Company
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH267User::class, mappedBy="company")
|
||||
*
|
||||
* @var Collection<int, GH267User>
|
||||
*/
|
||||
/** @var Collection<int, GH267User> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH267User::class, mappedBy: 'company')]
|
||||
protected $users;
|
||||
|
||||
public function setId(string $id): void
|
||||
@@ -166,12 +149,12 @@ class GH267Company
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="companies") */
|
||||
#[ODM\Document(collection: 'companies')]
|
||||
class GH267BuyerCompany extends GH267Company
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document(collection="companies") */
|
||||
#[ODM\Document(collection: 'companies')]
|
||||
class GH267SellerCompany extends GH267Company
|
||||
{
|
||||
}
|
||||
|
||||
@@ -31,21 +31,15 @@ class GH389Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class RootDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=EmptyMappedSuperClass::class)
|
||||
*
|
||||
* @var EmptyEmbeddedDocument
|
||||
*/
|
||||
/** @var EmptyEmbeddedDocument */
|
||||
#[ODM\EmbedOne(targetDocument: EmptyMappedSuperClass::class)]
|
||||
protected $emptyEmbeddedDocument;
|
||||
|
||||
public function __construct()
|
||||
@@ -64,18 +58,14 @@ class RootDocument
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\MappedSuperClass
|
||||
* @ODM\DiscriminatorField("foobar")
|
||||
* @ODM\DiscriminatorMap({
|
||||
* "empty"=EmptyEmbeddedDocument::class
|
||||
* })
|
||||
*/
|
||||
#[ODM\MappedSuperclass]
|
||||
#[ODM\DiscriminatorField('foobar')]
|
||||
#[ODM\DiscriminatorMap(['empty' => EmptyEmbeddedDocument::class])]
|
||||
class EmptyMappedSuperClass
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class EmptyEmbeddedDocument extends EmptyMappedSuperClass
|
||||
{
|
||||
}
|
||||
|
||||
@@ -30,53 +30,35 @@ class GH426Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH426Form
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH426Field::class, mappedBy="form", cascade={"all"})
|
||||
*
|
||||
* @var Collection<int, GH426Field>|array<GH426Field>
|
||||
*/
|
||||
/** @var Collection<int, GH426Field>|array<GH426Field> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH426Field::class, mappedBy: 'form', cascade: ['all'])]
|
||||
public $fields = [];
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH426Field::class, mappedBy="form", sort={"_id":1})
|
||||
*
|
||||
* @var GH426Field|null
|
||||
*/
|
||||
/** @var GH426Field|null */
|
||||
#[ODM\ReferenceOne(targetDocument: GH426Field::class, mappedBy: 'form', sort: ['_id' => 1])]
|
||||
public $firstField;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH426Field::class, mappedBy="form", sort={"_id":-1})
|
||||
*
|
||||
* @var GH426Field|null
|
||||
*/
|
||||
/** @var GH426Field|null */
|
||||
#[ODM\ReferenceOne(targetDocument: GH426Field::class, mappedBy: 'form', sort: ['_id' => -1])]
|
||||
public $lastField;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH426Field
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(inversedBy="fields", discriminatorMap={"f":GH426Form::class}, discriminatorField="type", cascade={"all"})
|
||||
*
|
||||
* @var GH426Form
|
||||
*/
|
||||
/** @var GH426Form */
|
||||
#[ODM\ReferenceOne(inversedBy: 'fields', discriminatorMap: ['f' => GH426Form::class], discriminatorField: 'type', cascade: ['all'])]
|
||||
public $form;
|
||||
|
||||
public function __construct(GH426Form $form)
|
||||
|
||||
@@ -24,31 +24,22 @@ class GH435Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH435Parent
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int|string|null
|
||||
*/
|
||||
/** @var int|string|null */
|
||||
#[ODM\Field(type: 'int')]
|
||||
protected $test;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH435Child extends GH435Parent
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
protected $test;
|
||||
}
|
||||
|
||||
@@ -300,112 +300,70 @@ class GH453Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH453Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="hash")
|
||||
*
|
||||
* @var array<string>
|
||||
*/
|
||||
/** @var array<string> */
|
||||
#[ODM\Field(type: 'hash')]
|
||||
public $hash;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="collection")
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
/** @var string[] */
|
||||
#[ODM\Field(type: 'collection')]
|
||||
public $colPush;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="collection")
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
/** @var string[] */
|
||||
#[ODM\Field(type: 'collection')]
|
||||
public $colSet;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="pushAll"))
|
||||
*
|
||||
* @var Collection<int, GH453EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH453EmbeddedDocument> */
|
||||
#[ODM\EmbedMany(strategy: 'pushAll')]
|
||||
public $embedManyPush;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="set")
|
||||
*
|
||||
* @var Collection<int, GH453EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH453EmbeddedDocument> */
|
||||
#[ODM\EmbedMany(strategy: 'set')]
|
||||
public $embedManySet;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="setArray")
|
||||
*
|
||||
* @var Collection<int, GH453EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH453EmbeddedDocument> */
|
||||
#[ODM\EmbedMany(strategy: 'setArray')]
|
||||
public $embedManySetArray;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(strategy="addToSet")
|
||||
*
|
||||
* @var Collection<int, GH453EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH453EmbeddedDocument> */
|
||||
#[ODM\EmbedMany(strategy: 'addToSet')]
|
||||
public $embedManyAddToSet;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(strategy="pushAll"))
|
||||
*
|
||||
* @var Collection<int, GH453ReferencedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH453ReferencedDocument> */
|
||||
#[ODM\ReferenceMany(strategy: 'pushAll')]
|
||||
public $referenceManyPush;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(strategy="set")
|
||||
*
|
||||
* @var Collection<int, GH453ReferencedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH453ReferencedDocument> */
|
||||
#[ODM\ReferenceMany(strategy: 'set')]
|
||||
public $referenceManySet;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(strategy="setArray")
|
||||
*
|
||||
* @var Collection<int, GH453ReferencedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH453ReferencedDocument> */
|
||||
#[ODM\ReferenceMany(strategy: 'setArray')]
|
||||
public $referenceManySetArray;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(strategy="addToSet")
|
||||
*
|
||||
* @var Collection<int, GH453ReferencedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH453ReferencedDocument> */
|
||||
#[ODM\ReferenceMany(strategy: 'addToSet')]
|
||||
public $referenceManyAddToSet;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH453EmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH453ReferencedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -29,56 +29,38 @@ class GH467Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH467Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="collection")
|
||||
*
|
||||
* @var mixed[]
|
||||
*/
|
||||
/** @var mixed[] */
|
||||
#[ODM\Field(type: 'collection')]
|
||||
public $col;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH467EmbeddedDocument::class)
|
||||
*
|
||||
* @var Collection<int, GH467EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH467EmbeddedDocument> */
|
||||
#[ODM\EmbedMany(targetDocument: GH467EmbeddedDocument::class)]
|
||||
public $embedMany;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH467EmbeddedDocument::class)
|
||||
*
|
||||
* @var Collection<int, GH467EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH467EmbeddedDocument> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH467EmbeddedDocument::class)]
|
||||
public $refMany;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH467EmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH467ReferencedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -36,21 +36,15 @@ class GH499Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH499Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH499Document::class, storeAs="id", strategy="set")
|
||||
*
|
||||
* @var Collection<array-key, GH499Document>
|
||||
*/
|
||||
/** @var Collection<array-key, GH499Document> */
|
||||
#[ODM\ReferenceMany(targetDocument: self::class, storeAs: 'id', strategy: 'set')]
|
||||
protected $refMany;
|
||||
|
||||
public function __construct(?ObjectId $id = null)
|
||||
|
||||
@@ -64,20 +64,14 @@ class GH520Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH520Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH520Document::class, cascade={"persist"})
|
||||
*
|
||||
* @var GH520Document|null
|
||||
*/
|
||||
/** @var GH520Document|null */
|
||||
#[ODM\ReferenceOne(targetDocument: self::class, cascade: ['persist'])]
|
||||
public $ref;
|
||||
}
|
||||
|
||||
@@ -75,35 +75,26 @@ class GH529Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH529AutoIdDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var ObjectId|null
|
||||
*/
|
||||
/** @var ObjectId|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH529CustomIdDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none", type="custom_id")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id(strategy: 'none', type: 'custom_id')]
|
||||
public $id;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH529IntIdDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="none", type="int")
|
||||
*
|
||||
* @var float|int|null
|
||||
*/
|
||||
/** @var float|int|null */
|
||||
#[ODM\Id(strategy: 'none', type: 'int')]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -114,21 +114,15 @@ class GH560EventSubscriber implements EventSubscriber
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH560Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="NONE")
|
||||
*
|
||||
* @var int|string|null
|
||||
*/
|
||||
/** @var int|string|null */
|
||||
#[ODM\Id(strategy: 'NONE')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/** @param int|string $id */
|
||||
|
||||
@@ -37,21 +37,15 @@ class GH561Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH561Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH561EmbeddedDocument::class, strategy="set")
|
||||
*
|
||||
* @var Collection<int, GH561EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH561EmbeddedDocument> */
|
||||
#[ODM\EmbedMany(targetDocument: GH561EmbeddedDocument::class, strategy: 'set')]
|
||||
public $embeddedDocuments;
|
||||
|
||||
public function __construct()
|
||||
@@ -60,14 +54,11 @@ class GH561Document
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH561EmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH561AnotherEmbeddedDocument::class, strategy="set")
|
||||
*
|
||||
* @var Collection<int, GH561AnotherEmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH561AnotherEmbeddedDocument> */
|
||||
#[ODM\EmbedMany(targetDocument: GH561AnotherEmbeddedDocument::class, strategy: 'set')]
|
||||
public $embeddedDocuments;
|
||||
|
||||
public function __construct()
|
||||
@@ -76,14 +67,11 @@ class GH561EmbeddedDocument
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH561AnotherEmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
|
||||
@@ -71,40 +71,23 @@ class GH566Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH566Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH566EmbeddedDocument::class)
|
||||
*
|
||||
* @var GH566EmbeddedDocument|null
|
||||
*/
|
||||
/** @var GH566EmbeddedDocument|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH566EmbeddedDocument::class)]
|
||||
public $version;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH566EmbeddedDocument::class)
|
||||
*
|
||||
* @var Collection<int, GH566EmbeddedDocument>
|
||||
*/
|
||||
/** @var Collection<int, GH566EmbeddedDocument> */
|
||||
#[ODM\EmbedMany(targetDocument: GH566EmbeddedDocument::class)]
|
||||
public $versions;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(
|
||||
* targetDocument=GH566Document::class,
|
||||
* cascade={"all"},
|
||||
* mappedBy="version.parent",
|
||||
* sort={"version.sequence"="asc"}
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, GH566Document>
|
||||
*/
|
||||
/** @var Collection<int, GH566Document> */
|
||||
#[ODM\ReferenceMany(targetDocument: self::class, cascade: ['all'], mappedBy: 'version.parent', sort: ['version.sequence' => 'asc'])]
|
||||
public $children;
|
||||
|
||||
public function __construct()
|
||||
@@ -114,20 +97,14 @@ class GH566Document
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH566EmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
/** @var int|null */
|
||||
#[ODM\Field(type: 'int')]
|
||||
public $sequence = 0;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH566Document::class, cascade={"all"}, inversedBy="children")
|
||||
*
|
||||
* @var GH566Document|null
|
||||
*/
|
||||
/** @var GH566Document|null */
|
||||
#[ODM\ReferenceOne(targetDocument: GH566Document::class, cascade: ['all'], inversedBy: 'children')]
|
||||
public $parent;
|
||||
}
|
||||
|
||||
@@ -62,21 +62,15 @@ class GH580Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH580Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
* @ODM\Index(unique=true)
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
#[ODM\Index(unique: true)]
|
||||
public $name;
|
||||
}
|
||||
|
||||
@@ -100,35 +100,23 @@ class GH593Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH593User
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="d", type="bool")
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
/** @var bool */
|
||||
#[ODM\Field(name: 'd', type: 'bool')]
|
||||
public $deleted = false;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH593User::class, inversedBy="followedBy", storeAs="id")
|
||||
*
|
||||
* @var Collection<int, GH593User>
|
||||
*/
|
||||
/** @var Collection<int, GH593User> */
|
||||
#[ODM\ReferenceMany(targetDocument: self::class, inversedBy: 'followedBy', storeAs: 'id')]
|
||||
public $following;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH593User::class, mappedBy="following")
|
||||
*
|
||||
* @var Collection<int, GH593User>
|
||||
*/
|
||||
/** @var Collection<int, GH593User> */
|
||||
#[ODM\ReferenceMany(targetDocument: self::class, mappedBy: 'following')]
|
||||
public $followedBy;
|
||||
|
||||
public function __construct()
|
||||
|
||||
@@ -48,27 +48,18 @@ class GH596Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH596Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="bool")
|
||||
*
|
||||
* @var bool|null
|
||||
*/
|
||||
/** @var bool|null */
|
||||
#[ODM\Field(type: 'bool')]
|
||||
public $deleted = false;
|
||||
}
|
||||
|
||||
@@ -120,28 +120,19 @@ class GH597Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document() */
|
||||
#[ODM\Document]
|
||||
class GH597Post
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH597Comment::class)
|
||||
*
|
||||
* @var Collection<int, GH597Comment>
|
||||
*/
|
||||
/** @var Collection<int, GH597Comment> */
|
||||
#[ODM\EmbedMany(targetDocument: GH597Comment::class)]
|
||||
public $comments;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH597ReferenceMany::class, storeAs="id")
|
||||
*
|
||||
* @var Collection<int, GH597ReferenceMany>
|
||||
*/
|
||||
/** @var Collection<int, GH597ReferenceMany> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH597ReferenceMany::class, storeAs: 'id')]
|
||||
public $referenceMany;
|
||||
|
||||
public function __construct()
|
||||
@@ -168,14 +159,11 @@ class GH597Post
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH597Comment
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $comment;
|
||||
|
||||
public function __construct(string $comment)
|
||||
@@ -185,21 +173,15 @@ class GH597Comment
|
||||
}
|
||||
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH597ReferenceMany
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $field;
|
||||
|
||||
public function __construct(string $field)
|
||||
|
||||
@@ -103,28 +103,19 @@ class GH602Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH602User
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="user_deleted", type="bool")
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
/** @var bool */
|
||||
#[ODM\Field(name: 'user_deleted', type: 'bool')]
|
||||
public $deleted = false;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH602Thing::class, inversedBy="likedBy", storeAs="id")
|
||||
*
|
||||
* @var Collection<int, GH602Thing>
|
||||
*/
|
||||
/** @var Collection<int, GH602Thing> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH602Thing::class, inversedBy: 'likedBy', storeAs: 'id')]
|
||||
public $likes;
|
||||
|
||||
public function __construct()
|
||||
@@ -139,28 +130,19 @@ class GH602User
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH602Thing
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="thing_deleted", type="bool")
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
/** @var bool */
|
||||
#[ODM\Field(name: 'thing_deleted', type: 'bool')]
|
||||
public $deleted = false;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH602User::class, mappedBy="likes")
|
||||
*
|
||||
* @var Collection<int, GH602User>
|
||||
*/
|
||||
/** @var Collection<int, GH602User> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH602User::class, mappedBy: 'likes')]
|
||||
public $likedBy;
|
||||
|
||||
public function __construct()
|
||||
|
||||
@@ -119,39 +119,27 @@ class GH611Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH611Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH611EmbeddedDocument::class)
|
||||
*
|
||||
* @var GH611EmbeddedDocument|null
|
||||
*/
|
||||
/** @var GH611EmbeddedDocument|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH611EmbeddedDocument::class)]
|
||||
public $embedded;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH611EmbeddedDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
/** @var int */
|
||||
#[ODM\Field(type: 'int')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="n", type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(name: 'n', type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(int $id, string $name)
|
||||
|
||||
@@ -22,20 +22,14 @@ class GH628Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH628Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(name="f", type="raw")
|
||||
*
|
||||
* @var mixed
|
||||
*/
|
||||
/** @var mixed */
|
||||
#[ODM\Field(name: 'f', type: 'raw')]
|
||||
public $foo;
|
||||
}
|
||||
|
||||
@@ -47,28 +47,19 @@ class GH665Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH665Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH665Embedded::class, strategy="pushAll")
|
||||
*
|
||||
* @var Collection<int, GH665Embedded>
|
||||
*/
|
||||
/** @var Collection<int, GH665Embedded> */
|
||||
#[ODM\EmbedMany(targetDocument: GH665Embedded::class, strategy: 'pushAll')]
|
||||
public $embeddedPushAll;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH665Embedded::class, strategy="addToSet")
|
||||
*
|
||||
* @var Collection<int, GH665Embedded>
|
||||
*/
|
||||
/** @var Collection<int, GH665Embedded> */
|
||||
#[ODM\EmbedMany(targetDocument: GH665Embedded::class, strategy: 'addToSet')]
|
||||
public $embeddedAddToSet;
|
||||
|
||||
public function __construct()
|
||||
@@ -78,14 +69,11 @@ class GH665Document
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH665Embedded
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
public function __construct(string $name)
|
||||
|
||||
@@ -240,120 +240,59 @@ class GH788Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH788Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(targetDocument=GH788ExternEmbedListed::class)
|
||||
*
|
||||
* @var Collection<int, GH788ExternEmbedListed>
|
||||
*/
|
||||
/** @var Collection<int, GH788ExternEmbedListed> */
|
||||
#[ODM\EmbedMany(targetDocument: GH788ExternEmbedListed::class)]
|
||||
public $externEmbedMany;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH788ExternEmbedListed::class)
|
||||
*
|
||||
* @var GH788ExternEmbedListed|null
|
||||
*/
|
||||
/** @var GH788ExternEmbedListed|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH788ExternEmbedListed::class)]
|
||||
public $externEmbedOne;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH788ExternRefListed::class, cascade="all")
|
||||
*
|
||||
* @var Collection<int, GH788ExternRefListed>
|
||||
*/
|
||||
/** @var Collection<int, GH788ExternRefListed> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH788ExternRefListed::class, cascade: 'all')]
|
||||
public $externRefMany;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH788ExternRefListed::class, cascade="all")
|
||||
*
|
||||
* @var GH788ExternRefListed
|
||||
*/
|
||||
/** @var GH788ExternRefListed */
|
||||
#[ODM\ReferenceOne(targetDocument: GH788ExternRefListed::class, cascade: 'all')]
|
||||
public $externRefOne;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany(
|
||||
* discriminatorField="type",
|
||||
* discriminatorMap={
|
||||
* "b"=GH788InlineEmbedListed::class
|
||||
* }
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, GH788InlineEmbedListed>
|
||||
*/
|
||||
/** @var Collection<int, GH788InlineEmbedListed> */
|
||||
#[ODM\EmbedMany(discriminatorField: 'type', discriminatorMap: ['b' => GH788InlineEmbedListed::class])]
|
||||
public $inlineEmbedMany;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(
|
||||
* discriminatorField="type",
|
||||
* discriminatorMap={
|
||||
* "b"=GH788InlineEmbedListed::class
|
||||
* }
|
||||
* )
|
||||
*
|
||||
* @var GH788InlineEmbedListed|null
|
||||
*/
|
||||
/** @var GH788InlineEmbedListed|null */
|
||||
#[ODM\EmbedOne(discriminatorField: 'type', discriminatorMap: ['b' => GH788InlineEmbedListed::class])]
|
||||
public $inlineEmbedOne;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(
|
||||
* discriminatorField="type",
|
||||
* discriminatorMap={
|
||||
* "c"=GH788InlineRefListed::class
|
||||
* },
|
||||
* cascade="all"
|
||||
* )
|
||||
*
|
||||
* @var Collection<int, GH788InlineRefListed>
|
||||
*/
|
||||
/** @var Collection<int, GH788InlineRefListed> */
|
||||
#[ODM\ReferenceMany(discriminatorField: 'type', discriminatorMap: ['c' => GH788InlineRefListed::class], cascade: 'all')]
|
||||
public $inlineRefMany;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(
|
||||
* discriminatorField="type",
|
||||
* discriminatorMap={
|
||||
* "c"=GH788InlineRefListed::class
|
||||
* },
|
||||
* cascade="all"
|
||||
* )
|
||||
*
|
||||
* @var GH788InlineRefListed|null
|
||||
*/
|
||||
/** @var GH788InlineRefListed|null */
|
||||
#[ODM\ReferenceOne(discriminatorField: 'type', discriminatorMap: ['c' => GH788InlineRefListed::class], cascade: 'all')]
|
||||
public $inlineRefOne;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedMany
|
||||
*
|
||||
* @var Collection<int, object>
|
||||
*/
|
||||
/** @var Collection<int, object> */
|
||||
#[ODM\EmbedMany]
|
||||
public $noTargetEmbedMany;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne
|
||||
*
|
||||
* @var object|null
|
||||
*/
|
||||
/** @var object|null */
|
||||
#[ODM\EmbedOne]
|
||||
public $noTargetEmbedOne;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(cascade="all")
|
||||
*
|
||||
* @var Collection<int, object>
|
||||
*/
|
||||
/** @var Collection<int, object> */
|
||||
#[ODM\ReferenceMany(cascade: 'all')]
|
||||
public $noTargetRefMany;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(cascade="all")
|
||||
*
|
||||
* @var object|null
|
||||
*/
|
||||
/** @var object|null */
|
||||
#[ODM\ReferenceOne(cascade: 'all')]
|
||||
public $noTargetRefOne;
|
||||
|
||||
public function __construct()
|
||||
@@ -367,124 +306,91 @@ class GH788Document
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\DiscriminatorMap({"a"=GH788DocumentListed::class})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\DiscriminatorMap(['a' => GH788DocumentListed::class])]
|
||||
class GH788DocumentListed extends GH788Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH788DocumentUnlisted extends GH788DocumentListed
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH788InlineEmbedListed
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH788InlineEmbedUnlisted extends GH788InlineEmbedListed
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH788InlineRefListed
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH788InlineRefUnlisted extends GH788InlineRefListed
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\EmbeddedDocument
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\DiscriminatorMap({"d"=GH788ExternEmbedListed::class})
|
||||
*/
|
||||
#[ODM\EmbeddedDocument]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\DiscriminatorMap(['d' => GH788ExternEmbedListed::class])]
|
||||
class GH788ExternEmbedListed
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH788ExternEmbedUnlisted extends GH788ExternEmbedListed
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\InheritanceType("SINGLE_COLLECTION")
|
||||
* @ODM\DiscriminatorField("type")
|
||||
* @ODM\DiscriminatorMap({"e"=GH788ExternRefListed::class})
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\InheritanceType('SINGLE_COLLECTION')]
|
||||
#[ODM\DiscriminatorField('type')]
|
||||
#[ODM\DiscriminatorMap(['e' => GH788ExternRefListed::class])]
|
||||
class GH788ExternRefListed
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH788ExternRefUnlisted extends GH788ExternRefListed
|
||||
{
|
||||
}
|
||||
|
||||
@@ -33,20 +33,14 @@ class GH816Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH816Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var ObjectId|null
|
||||
*/
|
||||
/** @var ObjectId|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $title;
|
||||
}
|
||||
|
||||
@@ -22,20 +22,14 @@ class GH850Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH850Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne
|
||||
*
|
||||
* @var object|string
|
||||
*/
|
||||
/** @var object|string */
|
||||
#[ODM\ReferenceOne]
|
||||
public $refs = '';
|
||||
}
|
||||
|
||||
@@ -110,35 +110,23 @@ class GH852Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH852Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id(strategy="NONE", type="custom_id")
|
||||
*
|
||||
* @var Binary|array<string, mixed>
|
||||
*/
|
||||
/** @var Binary|array<string, mixed> */
|
||||
#[ODM\Id(strategy: 'NONE', type: 'custom_id')]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH852Document::class, cascade="all")
|
||||
*
|
||||
* @var GH852Document
|
||||
*/
|
||||
/** @var GH852Document */
|
||||
#[ODM\ReferenceOne(targetDocument: self::class, cascade: 'all')]
|
||||
public $refOne;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH852Document::class, cascade="all")
|
||||
*
|
||||
* @var Collection<int, GH852Document>
|
||||
*/
|
||||
/** @var Collection<int, GH852Document> */
|
||||
#[ODM\ReferenceMany(targetDocument: self::class, cascade: 'all')]
|
||||
public $refMany;
|
||||
|
||||
public function __construct()
|
||||
|
||||
@@ -53,42 +53,30 @@ class GH878Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH878Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\EmbedOne(targetDocument=GH878SubDocument::class)
|
||||
*
|
||||
* @var GH878SubDocument|null
|
||||
*/
|
||||
/** @var GH878SubDocument|null */
|
||||
#[ODM\EmbedOne(targetDocument: GH878SubDocument::class)]
|
||||
public $embeddedField;
|
||||
}
|
||||
|
||||
/** @ODM\EmbeddedDocument */
|
||||
#[ODM\EmbeddedDocument]
|
||||
class GH878SubDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $some = '2';
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH878OtherDocument
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -40,28 +40,19 @@ class GH880Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH880Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/** @var string */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $status;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="int")
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
/** @var int */
|
||||
#[ODM\Field(type: 'int')]
|
||||
public $category;
|
||||
|
||||
public function __construct(string $status = '', int $category = 0)
|
||||
|
||||
@@ -40,55 +40,38 @@ class GH897Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH897A
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ODM\Document
|
||||
* @ODM\HasLifecycleCallbacks
|
||||
*/
|
||||
#[ODM\Document]
|
||||
#[ODM\HasLifecycleCallbacks]
|
||||
class GH897B
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH897A::class)
|
||||
*
|
||||
* @var GH897A|null
|
||||
*/
|
||||
/** @var GH897A|null */
|
||||
#[ODM\ReferenceOne(targetDocument: GH897A::class)]
|
||||
public $refOne;
|
||||
|
||||
/** @var DocumentManager|null */
|
||||
public $dm;
|
||||
|
||||
/** @ODM\PreFlush */
|
||||
#[ODM\PreFlush]
|
||||
public function preFlush(): void
|
||||
{
|
||||
if (! $this->refOne instanceof GH897A) {
|
||||
|
||||
@@ -66,28 +66,19 @@ class GH921Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH921User
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceMany(targetDocument=GH921Post::class)
|
||||
*
|
||||
* @var Collection<int, GH921Post>
|
||||
*/
|
||||
/** @var Collection<int, GH921Post> */
|
||||
#[ODM\ReferenceMany(targetDocument: GH921Post::class)]
|
||||
private $posts;
|
||||
|
||||
public function __construct()
|
||||
@@ -122,21 +113,15 @@ class GH921User
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH921Post
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ODM\Field(type="string")
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Field(type: 'string')]
|
||||
private $name;
|
||||
|
||||
public function getId(): ?string
|
||||
|
||||
@@ -19,36 +19,27 @@ class GH927Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH927Parent
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=Doctrine\ODM\MongoDB\Tests\Functional\Ticket\GH927Reference::class)
|
||||
*
|
||||
* @var GH927Reference|null
|
||||
*/
|
||||
/** @var GH927Reference|null */
|
||||
#[ODM\ReferenceOne(targetDocument: GH927Reference::class)]
|
||||
protected $reference;
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH927Child extends GH927Parent
|
||||
{
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH927Reference
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
protected $id;
|
||||
}
|
||||
|
||||
@@ -33,13 +33,10 @@ class GH928Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH928Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
}
|
||||
|
||||
@@ -39,21 +39,15 @@ class GH936Test extends BaseTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** @ODM\Document */
|
||||
#[ODM\Document]
|
||||
class GH936Document
|
||||
{
|
||||
/**
|
||||
* @ODM\Id
|
||||
*
|
||||
* @var string|null
|
||||
*/
|
||||
/** @var string|null */
|
||||
#[ODM\Id]
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* @ODM\ReferenceOne(targetDocument=GH936Document::class, cascade={"persist","remove"})
|
||||
*
|
||||
* @var GH936Document|null
|
||||
*/
|
||||
/** @var GH936Document|null */
|
||||
#[ODM\ReferenceOne(targetDocument: self::class, cascade: ['persist', 'remove'])]
|
||||
public $ref;
|
||||
|
||||
public function __construct(?GH936Document $ref = null)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user