A super easy PHP Framework for web development! https://github.com/exacti/phacil-framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
1.6 KiB

<?php
/**
* Copyright © 2023 ExacTI Technology Solutions. All rights reserved.
* GPLv3 General License.
* https://exacti.com.br
* Phacil PHP Framework - https://github.com/exacti/phacil-framework
*/
namespace Phacil\Framework\MagiQL\Manipulation;
use Phacil\Framework\MagiQL\Api\Syntax\QueryPartInterface;
use Phacil\Framework\MagiQL\Api\QueryInterface;
/**
* Class Intersect.
*/
class Intersect implements QueryInterface, QueryPartInterface
{
const INTERSECT = 'INTERSECT';
/**
* @var array
*/
protected $intersect = [];
/**
* @return string
*/
public function partName()
{
return 'INTERSECT';
}
/**
* @param Select $select
*
* @return $this
*/
public function add(Select $select)
{
$this->intersect[] = $select;
return $this;
}
/**
* @return array
*/
public function getIntersects()
{
return $this->intersect;
}
/**
* @throws QueryException
*
* @return \Phacil\Framework\MagiQL\Syntax\Table
*/
public function getTable()
{
throw new QueryException('INTERSECT does not support tables');
}
/**
* @throws QueryException
*
* @return \Phacil\Framework\MagiQL\Syntax\Where
*/
public function getWhere()
{
throw new QueryException('INTERSECT does not support WHERE.');
}
/**
* @throws QueryException
*
* @return \Phacil\Framework\MagiQL\Syntax\Where
*/
public function where()
{
throw new QueryException('INTERSECT does not support the WHERE statement.');
}
}