mirror of
https://github.com/farmOS/farmOS.git
synced 2024-02-23 11:37:38 +01:00
Add a function for loading a list of record IDs associated with a plan.
This commit is contained in:
parent
6d4b22309e
commit
f4413324c7
1 changed files with 48 additions and 0 deletions
|
@ -624,6 +624,54 @@ function farm_plan_type_get_names() {
|
||||||
* Functions for linking/unlinking plans with other records.
|
* Functions for linking/unlinking plans with other records.
|
||||||
* *************************************************************/
|
* *************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load a list of records associated with a plan.
|
||||||
|
*
|
||||||
|
* @param string $record_type
|
||||||
|
* The record type (see farm_plan_record_relationships()).
|
||||||
|
* @param int $plan_id
|
||||||
|
* The plan ID.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
* Returns an array of record IDs associated with the plan ID.
|
||||||
|
*/
|
||||||
|
function farm_plan_linked_records($record_type, $plan_id) {
|
||||||
|
|
||||||
|
// Start an empty records array.
|
||||||
|
$records = array();
|
||||||
|
|
||||||
|
// If the plan ID is empty, bail.
|
||||||
|
if (empty($plan_id)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get available relationships between plans and other record types.
|
||||||
|
$relationships = farm_plan_record_relationships();
|
||||||
|
|
||||||
|
// If a database table and field are not available, bail.
|
||||||
|
if (empty($relationships[$record_type]['table']) || empty($relationships[$record_type]['field'])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the table and field.
|
||||||
|
$table = $relationships[$record_type]['table'];
|
||||||
|
$field = $relationships[$record_type]['field'];
|
||||||
|
|
||||||
|
// Query for record IDs.
|
||||||
|
$query = db_select($table, 'r');
|
||||||
|
$query->addField('r', $field);
|
||||||
|
$query->condition('plan_id', $plan_id);
|
||||||
|
$result = $query->execute();
|
||||||
|
foreach ($result as $row) {
|
||||||
|
if (!empty($row->{$field})) {
|
||||||
|
$records[] = $row->{$field};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return the record IDs.
|
||||||
|
return $records;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Link a plan to a record.
|
* Link a plan to a record.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue