【问题标题】:Yii2 ArrayHelper show parent categoryYii2 ArrayHelper 显示父类
【发布时间】:2023-04-05 02:10:01
【问题描述】:

我有来自其他表的父页面的页面。我想在中断中显示带有父页面标题的结果,例如“服务页面(诊所 1)”......服务页面(诊所 2)......因为现在用户只能看到“服务页面”、“服务页面”和不知道每个人的父母页面。我在数据库中的父页面是hospital_id 我的查询是

$parentPagesArray[0] = Yii::t('app', 'app.main_page');
$parentPages = \backend\models\Page::find()->where('active=1')->orderBy('sort ASC')->all();
$parentPagesArray['----------------'] = ArrayHelper::map($parentPages, 'id', 'title');

和视图:

 <div class="col-sm-6 tooltip-info"  data-toggle="tooltip" data-placement="top" title="" data-original-title="<?=Yii::t('app','app.Tooltip page id_in')?>">
            <?php
            ?>
            <?=
            $form->field($model, 'id_in')->widget(Select2::classname(), [
                'model' => $model,
                'attribute' => 'id_in',
                'data' => $parentPagesArray,
                'options' => [
                    'placeholder' => Yii::t('app', 'app.select_an_option'),
                ],
                'pluginOptions' => [
                    'allowClear' => true
                ],
            ])
            ?>
        </div>

【问题讨论】:

    标签: arrays yii2


    【解决方案1】:

    ArrayHelper::map() 允许您提供回调以生成标题:

    $parentPagesArray['----------------'] = ArrayHelper::map($parentPages, 'id', static function ($page) {
        $title = $page->title;
        if (isset($page->parent)) {
            $title .= " ({$page->parent->title})";
        }
    
        return $title;
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-01
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多