Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
/**
* @author Jaap Jansma <jaap.jansma@civicoop.org>
* @license AGPL-3.0
*/
namespace Civi\DataProcessor\DataSpecification;
class FixedValueSqlFieldSpecification extends FieldSpecification {
/**
* @var String
*/
public $value;
public function __construct($value, $alias, $type, $title) {
$this->name = $alias;
$this->alias = $alias;
$this->type = $type;
$this->title = $title;
if ($value) {
$this->value = \CRM_Utils_Type::escape($value, $type);
} else {
$this->value = "NULL";
}
}
/**
* Returns the select statement for this field.
* E.g. COUNT(civicrm_contact.id) AS contact_id_count
*
* @param String $table_alias
*
* @return String
*/
public function getSqlSelectStatement($table_alias) {
return "{$this->value} as `{$this->alias}`";
}
/**
* Returns the group by statement for this field.
* E.g. civicrm_contribution.financial_type_id
* or MONTH(civicrm_contribution.receive_date)
*
* @param String $table_alias
*
* @return String
*/
public function getSqlGroupByStatement($table_alias) {
return "`{$this->alias}`";
}
/**
* Returns the SQL column name for this field.
* This could be used in join statements
*
* @param $table_alias
*
* @return string
*/
public function getSqlColumnName($table_alias) {
return "`{$this->alias}`";
}
}