3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
12 namespace Civi\Api4\Query
;
15 * Sql column expression
17 class SqlField
extends SqlExpression
{
19 protected function initialize() {
20 if ($this->alias
&& $this->alias
!== $this->expr
) {
21 throw new \
API_Exception("Aliasing field names is not allowed, only expressions can have an alias.");
23 $this->fields
[] = $this->expr
;
26 public function render(array $fieldList): string {
27 if (empty($fieldList[$this->expr
])) {
28 throw new \
API_Exception("Invalid field '{$this->expr}'");
30 return $fieldList[$this->expr
]['sql_name'];