public function __construct(Object\PropertyData $PropertyData) { parent::__construct($PropertyData->GetEntityType()); foreach ($PropertyData as $PropertyIdentifier => $Value) { $Property = $PropertyData->GetProperty($PropertyIdentifier); $this->AddPredicate(Expression::BinaryOperation(Expression::Property($Property), Operators\Binary::Identity, Expression::Constant($Value))); } }
private function ParseResolvedValue($Value) { if (is_object($Value)) { return Expression::Object($Value); } else { if (is_array($Value)) { return Expression::NewArray(array_map(function ($Value) { return $this->ParseResolvedValue($Value); }, $Value)); } else { return Expression::Constant($Value); } } }