mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
37 lines
883 B
PHP
37 lines
883 B
PHP
|
<?php
|
||
|
|
||
|
namespace SilverStripe\ORM\Tests\ManyManyThroughListTest;
|
||
|
|
||
|
use Generator;
|
||
|
use SilverStripe\Dev\TestOnly;
|
||
|
use SilverStripe\ORM\DataObject;
|
||
|
|
||
|
class PolyItem extends DataObject implements TestOnly
|
||
|
{
|
||
|
private static $table_name = 'ManyManyThroughListTest_PolyItem';
|
||
|
|
||
|
private static $db = [
|
||
|
'Title' => 'Varchar'
|
||
|
];
|
||
|
|
||
|
private static $has_many = [
|
||
|
'JoinObject' => PolyJoinObject::class . '.Items',
|
||
|
];
|
||
|
|
||
|
/**
|
||
|
* Placeholder for missing belongs_many_many for polymorphic relation
|
||
|
*
|
||
|
* @todo Make this work for belongs_many_many
|
||
|
* @return Generator|DataObject[]
|
||
|
*/
|
||
|
public function Objects()
|
||
|
{
|
||
|
foreach ($this->JoinObject() as $object) {
|
||
|
$objectParent = $object->Parent();
|
||
|
if ($objectParent && $objectParent->exists()) {
|
||
|
yield $objectParent;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|