app\models\Category::getHierarchy PHP Method

getHierarchy() public static method

public static getHierarchy ( )
    public static function getHierarchy()
    {
        $options = [];
        $parents = self::find()->where(['parent_id' => null, 'user_id' => Yii::$app->user->identity->id, 'is_active' => 1])->all();
        foreach ($parents as $id_category => $p) {
            $children = self::find()->where("parent_id=:parent_id", [":parent_id" => $p->id_category])->all();
            $child_options = [];
            foreach ($children as $child) {
                $child_options[$child->id_category] = $child->desc_category;
            }
            $options[$p->desc_category] = $child_options;
        }
        return $options;
    }

Usage Example

Example #1
0
    <div class="tab-pane active" id="home">
    <p>
    <?php 
echo $form->field($model, 'type_id')->radioList(['1' => Yii::t('app', 'Revenue'), '2' => Yii::t('app', 'Expense')], ['itemOptions' => ['class' => 'radio-inline', 'labelOptions' => array('style' => 'padding:4px;')]])->label('');
?>

    <?php 
echo DatePicker::widget(['model' => $model, 'form' => $form, 'attribute' => 'date', 'type' => DatePicker::TYPE_INPUT, 'size' => 'sm', 'pluginOptions' => ['autoclose' => true, 'todayHighlight' => true, 'format' => 'yyyy-mm-dd']]);
?>
    
    <?php 
echo $form->field($model, 'value')->widget(MaskMoney::classname(), ['pluginOptions' => ['affixesStay' => true, 'precision' => 2, 'allowZero' => true, 'allowNegative' => true]]);
?>

    <?php 
echo $form->field($model, 'category_id', ['inputOptions' => ['class' => 'selectpicker ']])->dropDownList(app\models\Category::getHierarchy(), ['prompt' => Yii::t('app', 'Select'), 'class' => 'form-control required']);
?>

    <?php 
echo $form->field($model, 'description')->textInput(['maxlength' => 100]);
?>

    </div>
    <div class="tab-pane" id="profile">

    <?php 
echo $form->field($model, 'is_pending')->checkbox(['label' => '', 'labelOptions' => array('class' => 'col-lg-2 control-label')])->label(Yii::t('app', 'Pending'));
?>

    <?php 
echo $form->field($model, 'file')->fileInput();
All Usage Examples Of app\models\Category::getHierarchy