Traq\Models\Project::milestoneSelectOptions PHP Method

milestoneSelectOptions() public method

public milestoneSelectOptions ( $valueField = 'id', $status = null, $sort = 'ASC' ) : array[]
return array[]
    public function milestoneSelectOptions($valueField = 'id', $status = null, $sort = 'ASC')
    {
        $options = [];
        $milestones = Milestone::where('project_id = ?')->setParameter(0, $this->id)->orderBy('display_order', $sort);
        if ($status !== null) {
            $milestones->andWhere('status = ?')->setParameter(1, $status);
        }
        foreach ($milestones->execute()->fetchAll() as $milestone) {
            $options[] = ['label' => $milestone['name'], 'value' => $milestone[$valueField]];
        }
        return $options;
    }

Usage Example

Example #1
0
 /**
  * Returns options for the specific ticket filter.
  *
  * @param string $filter
  *
  * @return array
  */
 public static function selectOptionsFor($filter, Project $project)
 {
     switch ($filter) {
         // Milestone options
         case 'milestone':
             $options = $project->milestoneSelectOptions('slug');
             break;
             // Version options
         // Version options
         case 'version':
             $options = $project->milestoneSelectOptions('slug');
             break;
             // Type options
         // Type options
         case 'type':
             $options = Type::selectOptions('name');
             break;
             // Status options
         // Status options
         case 'status':
             $options = Status::selectOptions('name');
             break;
             // Component options
         // Component options
         case 'component':
             $options = Component::selectOptions($project->id, 'name');
             break;
             // Priority options
         // Priority options
         case 'priority':
             $options = Priority::selectOptions('name');
             break;
             // Severity options
         // Severity options
         case 'severity':
             $options = Severity::selectOptions('name');
             break;
     }
     return $options;
 }