Yii2如何从视图传递变量并将其发送到另一个源

时间:2019-04-12 10:44:52

标签: model-view-controller yii2

全部

我的意思是。 我需要通过在视图->控制器

中传递来自$ valiable的值来创建自定义报告

我的问题是如何从$ valiable传递值

现在我可以通过在controller.php中$ valiable中的固定值

从另一个系统获取价值

但是我需要传递从view.php中提交按钮之后选择的$ valiable。

类似的东西

enter image description here

这里是我的代码

index.php

library(ggplot2)
library(scales)


prod <- data.frame(year=1910:1935, mean=sample(seq(0.1, 0.6, 0.1), 26, replace = T), soldProd=sample(4:2000, 26))

gg <- ggplot(prod, aes(year, mean)) + geom_smooth(method="glm", formula=y~poly(x,3), se=FALSE, colour ="red") +
  geom_smooth(method = "lm", formula=y~x, se = FALSE, colour = "blue") +
  stat_smooth(method = "lm", colour = "blue") +
  #geom_point() +
  xlab("year of sold") + ylab("Mean[%]") 

gb <- ggplot_build(gg)
y.range <- gb$layout$panel_params[[1]]$y.range
y2.range <- extendrange(range(prod$soldProd), f=0.01)
prod$scaledSoldProd <- rescale(prod$soldProd, y.range, y2.range)
scale_factor <- (diff(y.range)/max(y2.range))
trans <- ~ ((. -y.range[1])/scale_factor)

gg <- gg + geom_line(aes(y=scaledSoldProd))
gg <- gg + scale_y_continuous(breaks = seq(min(prod$mean), max(prod$mean), by = 0.2),
                              sec.axis = sec_axis(trans, name = "Number of products"))

print(gg)

在ReportController.php

    <?php $form = ActiveForm::begin(); ?>
          <div class="col-xs-12 col-sm-6 col-md-3">
           <label class="control-label"> field1 </label>
             <?php echo Select2::widget([
                'name' => 'field1',
                'data' =>  Report::itemAlias('field1'),
                'options' => [
                    'placeholder' => 'Select Cost Center...',
                ],
                    'pluginOptions' => ['allowClear' => true,],
                ]); ?>
            </div>
            <div class="col-xs-12 col-sm-6 col-md-3">
           <label class="control-label"> field2 </label>
             <?php echo Select2::widget([
                'name' => 'field2',
                'data' => Report::itemAlias('field2'),
                'options' => [
                    'placeholder' => 'Select Fund Center...',
                ],
                    'pluginOptions' => ['allowClear' => true,],
                ]); ?>
            </div>
        <div class="form-group" >
           <?= Html::submitButton('process', ['class' => 'btn btn-warning ']) ?>  
        </div>
    <?php ActiveForm::end(); ?>

编辑:我得到了我想要的。在controller.php中添加if条件。

1 个答案:

答案 0 :(得分:-1)

我一无所获

但是假设您在$ result中有另一个系统的响应,它看起来像一个数组;那么您将在变量$ array中分配一个数组,该数组具有关联值“ value”。 获取field1值的方法是

$array['value']['field1']

您的视图php文件中应该具有这样的GridView

<?= GridView::widget([
  'dataProvider' => $dataProvider,
  'columns' => [
    ...
    'value.field1',
    'value.field2',
    ...
  ],
]); ?>

应该可以