34 lines
709 B
PHP
34 lines
709 B
PHP
<?php
|
|
|
|
namespace Lucent\Record;
|
|
|
|
use Lucent\Edge\Edge;
|
|
use Lucent\Support\Collection;
|
|
use PhpOption\Option;
|
|
|
|
class QueryRecord
|
|
{
|
|
/**
|
|
* @param Record $record
|
|
* @param Option<Edge> $edge
|
|
* @param Collection<QueryRecord> $_children
|
|
* @param Collection<QueryRecord> $_parents
|
|
*/
|
|
function __construct(
|
|
public Record $record,
|
|
public Option $edge,
|
|
public Collection $_children = new Collection(),
|
|
public Collection $_parents = new Collection(),
|
|
)
|
|
{
|
|
}
|
|
|
|
public static function fromRecord(Record $record): QueryRecord
|
|
{
|
|
return new QueryRecord(
|
|
record: $record,
|
|
edge: none(),
|
|
);
|
|
}
|
|
}
|