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 public $supportsExpansion = TRUE;
21 protected function initialize() {
22 if ($this->alias
&& $this->alias
!== $this->expr
) {
23 throw new \
API_Exception("Aliasing field names is not allowed, only expressions can have an alias.");
25 $this->fields
[] = $this->expr
;
28 public function render(array $fieldList): string {
29 if (empty($fieldList[$this->expr
])) {
30 throw new \
API_Exception("Invalid field '{$this->expr}'");
32 return $fieldList[$this->expr
]['sql_name'];