public function __construct(ForeignKey $ForeignKey) { $ReferencedColumnMap = $ForeignKey->GetReferencedColumnMap(); $ConstraintExpressions = []; foreach ($ReferencedColumnMap as $PrimaryColumn) { $ForeignColumn = $ReferencedColumnMap[$PrimaryColumn]; $ConstraintExpressions[] = Expression::BinaryOperation(Expression::Column($PrimaryColumn), Binary::Equality, Expression::Column($ForeignColumn)); } parent::__construct($ConstraintExpressions, Binary::LogicalAnd); }