5 * @copyright CiviCRM LLC (c) 2004-2017
7 * Generated from xml/schema/CRM/Pledge/PledgePayment.xml
8 * DO NOT EDIT. Generated by CRM_Core_CodeGen
9 * (GenCodeChecksum:37953335e5e08db4328298ec003c97a8)
13 * Database access object for the PledgePayment entity.
15 class CRM_Pledge_DAO_PledgePayment
extends CRM_Core_DAO
{
18 * Static instance to hold the table name.
22 static $_tableName = 'civicrm_pledge_payment';
25 * Should CiviCRM log any modifications to this table in the civicrm_log table.
44 * FK to contribution table.
48 public $contribution_id;
51 * Pledged amount for this payment (the actual contribution amount might be different).
55 public $scheduled_amount;
58 * Actual amount that is paid as the Pledged installment amount.
62 public $actual_amount;
65 * 3 character string, value from config setting or input via user.
72 * The date the pledge payment is supposed to happen.
76 public $scheduled_date;
79 * The date that the most recent payment reminder was sent.
83 public $reminder_date;
86 * The number of payment reminders sent.
90 public $reminder_count;
100 public function __construct() {
101 $this->__table
= 'civicrm_pledge_payment';
102 parent
::__construct();
106 * Returns foreign keys and entity references.
109 * [CRM_Core_Reference_Interface]
111 public static function getReferenceColumns() {
112 if (!isset(Civi
::$statics[__CLASS__
]['links'])) {
113 Civi
::$statics[__CLASS__
]['links'] = static ::createReferenceColumns(__CLASS__
);
114 Civi
::$statics[__CLASS__
]['links'][] = new CRM_Core_Reference_Basic(self
::getTableName(), 'pledge_id', 'civicrm_pledge', 'id');
115 Civi
::$statics[__CLASS__
]['links'][] = new CRM_Core_Reference_Basic(self
::getTableName(), 'contribution_id', 'civicrm_contribution', 'id');
116 CRM_Core_DAO_AllCoreTables
::invoke(__CLASS__
, 'links_callback', Civi
::$statics[__CLASS__
]['links']);
118 return Civi
::$statics[__CLASS__
]['links'];
122 * Returns all the column names of this table
126 public static function &fields() {
127 if (!isset(Civi
::$statics[__CLASS__
]['fields'])) {
128 Civi
::$statics[__CLASS__
]['fields'] = [
129 'pledge_payment_id' => [
131 'type' => CRM_Utils_Type
::T_INT
,
132 'title' => ts('Payment ID'),
135 'where' => 'civicrm_pledge_payment.id',
136 'headerPattern' => '',
139 'table_name' => 'civicrm_pledge_payment',
140 'entity' => 'PledgePayment',
141 'bao' => 'CRM_Pledge_BAO_PledgePayment',
145 'name' => 'pledge_id',
146 'type' => CRM_Utils_Type
::T_INT
,
147 'title' => ts('Pledge'),
148 'description' => 'FK to Pledge table',
150 'table_name' => 'civicrm_pledge_payment',
151 'entity' => 'PledgePayment',
152 'bao' => 'CRM_Pledge_BAO_PledgePayment',
154 'FKClassName' => 'CRM_Pledge_DAO_Pledge',
156 'contribution_id' => [
157 'name' => 'contribution_id',
158 'type' => CRM_Utils_Type
::T_INT
,
159 'title' => ts('Contribution'),
160 'description' => 'FK to contribution table.',
161 'table_name' => 'civicrm_pledge_payment',
162 'entity' => 'PledgePayment',
163 'bao' => 'CRM_Pledge_BAO_PledgePayment',
165 'FKClassName' => 'CRM_Contribute_DAO_Contribution',
167 'pledge_payment_scheduled_amount' => [
168 'name' => 'scheduled_amount',
169 'type' => CRM_Utils_Type
::T_MONEY
,
170 'title' => ts('Scheduled Amount'),
171 'description' => 'Pledged amount for this payment (the actual contribution amount might be different).',
178 'where' => 'civicrm_pledge_payment.scheduled_amount',
179 'headerPattern' => '',
182 'table_name' => 'civicrm_pledge_payment',
183 'entity' => 'PledgePayment',
184 'bao' => 'CRM_Pledge_BAO_PledgePayment',
187 'pledge_payment_actual_amount' => [
188 'name' => 'actual_amount',
189 'type' => CRM_Utils_Type
::T_MONEY
,
190 'title' => ts('Actual Amount'),
191 'description' => 'Actual amount that is paid as the Pledged installment amount.',
197 'where' => 'civicrm_pledge_payment.actual_amount',
198 'headerPattern' => '',
201 'table_name' => 'civicrm_pledge_payment',
202 'entity' => 'PledgePayment',
203 'bao' => 'CRM_Pledge_BAO_PledgePayment',
207 'name' => 'currency',
208 'type' => CRM_Utils_Type
::T_STRING
,
209 'title' => ts('Currency'),
210 'description' => '3 character string, value from config setting or input via user.',
212 'size' => CRM_Utils_Type
::FOUR
,
214 'table_name' => 'civicrm_pledge_payment',
215 'entity' => 'PledgePayment',
216 'bao' => 'CRM_Pledge_BAO_PledgePayment',
221 'pseudoconstant' => [
222 'table' => 'civicrm_currency',
223 'keyColumn' => 'name',
224 'labelColumn' => 'full_name',
225 'nameColumn' => 'name',
228 'pledge_payment_scheduled_date' => [
229 'name' => 'scheduled_date',
230 'type' => CRM_Utils_Type
::T_DATE + CRM_Utils_Type
::T_TIME
,
231 'title' => ts('Scheduled Date'),
232 'description' => 'The date the pledge payment is supposed to happen.',
235 'where' => 'civicrm_pledge_payment.scheduled_date',
236 'headerPattern' => '',
239 'table_name' => 'civicrm_pledge_payment',
240 'entity' => 'PledgePayment',
241 'bao' => 'CRM_Pledge_BAO_PledgePayment',
244 'pledge_payment_reminder_date' => [
245 'name' => 'reminder_date',
246 'type' => CRM_Utils_Type
::T_DATE + CRM_Utils_Type
::T_TIME
,
247 'title' => ts('Last Reminder'),
248 'description' => 'The date that the most recent payment reminder was sent.',
250 'where' => 'civicrm_pledge_payment.reminder_date',
251 'headerPattern' => '',
254 'table_name' => 'civicrm_pledge_payment',
255 'entity' => 'PledgePayment',
256 'bao' => 'CRM_Pledge_BAO_PledgePayment',
259 'pledge_payment_reminder_count' => [
260 'name' => 'reminder_count',
261 'type' => CRM_Utils_Type
::T_INT
,
262 'title' => ts('Reminders Sent'),
263 'description' => 'The number of payment reminders sent.',
265 'where' => 'civicrm_pledge_payment.reminder_count',
266 'headerPattern' => '',
269 'table_name' => 'civicrm_pledge_payment',
270 'entity' => 'PledgePayment',
271 'bao' => 'CRM_Pledge_BAO_PledgePayment',
274 'pledge_payment_status_id' => [
275 'name' => 'status_id',
276 'type' => CRM_Utils_Type
::T_INT
,
277 'title' => ts('Payment Status'),
279 'where' => 'civicrm_pledge_payment.status_id',
280 'headerPattern' => '',
283 'table_name' => 'civicrm_pledge_payment',
284 'entity' => 'PledgePayment',
285 'bao' => 'CRM_Pledge_BAO_PledgePayment',
287 'pseudoconstant' => [
288 'optionGroupName' => 'contribution_status',
289 'optionEditPath' => 'civicrm/admin/options/contribution_status',
293 CRM_Core_DAO_AllCoreTables
::invoke(__CLASS__
, 'fields_callback', Civi
::$statics[__CLASS__
]['fields']);
295 return Civi
::$statics[__CLASS__
]['fields'];
299 * Return a mapping from field-name to the corresponding key (as used in fields()).
302 * Array(string $name => string $uniqueName).
304 public static function &fieldKeys() {
305 if (!isset(Civi
::$statics[__CLASS__
]['fieldKeys'])) {
306 Civi
::$statics[__CLASS__
]['fieldKeys'] = array_flip(CRM_Utils_Array
::collect('name', self
::fields()));
308 return Civi
::$statics[__CLASS__
]['fieldKeys'];
312 * Returns the names of this table
316 public static function getTableName() {
317 return self
::$_tableName;
321 * Returns if this table needs to be logged
325 public function getLog() {
330 * Returns the list of fields that can be imported
332 * @param bool $prefix
336 public static function &import($prefix = FALSE) {
337 $r = CRM_Core_DAO_AllCoreTables
::getImports(__CLASS__
, 'pledge_payment', $prefix, []);
342 * Returns the list of fields that can be exported
344 * @param bool $prefix
348 public static function &export($prefix = FALSE) {
349 $r = CRM_Core_DAO_AllCoreTables
::getExports(__CLASS__
, 'pledge_payment', $prefix, []);
354 * Returns the list of indices
356 * @param bool $localize
360 public static function indices($localize = TRUE) {
362 'index_contribution_pledge' => [
363 'name' => 'index_contribution_pledge',
365 0 => 'contribution_id',
368 'localizable' => FALSE,
369 'sig' => 'civicrm_pledge_payment::0::contribution_id::pledge_id',
372 'name' => 'index_status',
376 'localizable' => FALSE,
377 'sig' => 'civicrm_pledge_payment::0::status_id',
380 return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables
::multilingualize(__CLASS__
, $indices) : $indices;