将数据从表单传递到 yii2 中的控制器

2023-12-15

I am creating a page that has 3 fields - product code, startdate, enddate. When I click on the search button it should create a pdf file. 3 of these fields are without model. enter image description here

我试过代码 -

<?php

use yii\helpers\Html;
//use yii\grid\GridView;
use kartik\grid\GridView;
use kartik\export\ExportMenu;
use frontend\modules\stock\models\Sellitem;
use dosamigos\datepicker\DatePicker;
use dosamigos\datepicker\DateRangePicker;
use kartik\form\ActiveForm;

/* @var $this yii\web\View */
/* @var $searchModel frontend\modules\stock\models\SellitemSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */

$this->title = 'Stock';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="sellitem-index">

    <h1><?= Html::encode($this->title) ?></h1>
    <?php // echo $this->render('_search', ['model' => $searchModel]); ?>

    <div class="row">
        <div class="form-group">
            <div class="col-xs-4 col-sm-4 col-lg-4">
                <label for="upc" class="control-label"><p class="text-info">Product Code&nbsp;<i class="icon-star"></i></p></label>
                <input type="text" class="form-control" id="upc" class="span3">
            </div>
            <div class="col-xs-4 col-sm-4 col-lg-4">
                <label for="upc" class="control-label"><p class="text-info">Start Date&nbsp;<i class="icon-star"></i></p></label>
                <?= DatePicker::widget([
                //'label' => 'Startdate',
                'name' => 'startdate',
                'id' => 'startdate',
                //'value' => '02-16-2012',
                'template' => '{addon}{input}',
                    'clientOptions' => [
                        'autoclose' => true,
                        'todayHighlight' => true,
                        'format' => 'yyyy-mm-dd'
                    ]
                ]);?>
            </div>
            <div class="col-xs-4 col-sm-4 col-lg-4">
                <label for="upc" class="control-label"><p class="text-info">End Date&nbsp;<i class="icon-star"></i></p></label>
                <?= DatePicker::widget([
                //'label' => 'Startdate',
                'name' => 'enddate',
                'id' => 'enddate',
                //'value' => '02-16-2012',
                'template' => '{addon}{input}',
                    'clientOptions' => [
                        'autoclose' => true,
                        'todayHighlight' => true,
                        'format' => 'yyyy-mm-dd'
                    ]
                ]);?>
            </div>
        </div>

    </div>
    <p>
        <div class="form-group pull-right">
            <?= Html::a('Search', ['/stock/sellitem/stockbetweendates','upc'=> $upc, 'startdate'=> $startdate, 'enddate'=>$enddate], 
        ['class'=>'btn btn-success']) 
        ?>
        </div>
    </p>
</div>

这给出了错误 - 未定义的变量。 我在模型中添加了 $upc、$startdate、$enddate,但没有帮助。请让我知道如何将这些值传递给控制器​​。

控制器动作

public function actionStockbetweendates($upc, $startdate, $enddate) {

$upc = yii::$app->request->get('upc');
$startdate = yii::$app->request->get('startdate');
$enddate = yii::$app->request->get('enddate');

// $modelProduction = Puritem::find()->where(['pi_upc' => $productname]);
// $searchModel1  = new PuritemsbSearch();
// $dataProvider1 = $searchModel1->search(Yii::$app->request->queryParams, $productname);

// $modelSell  = Sellitem::find()->where(['si_iupc' => $productname]);
// $searchModel2 = new SellitemsbSearch();       
// $dataProvider2 = $searchModel2->search(Yii::$app->request->queryParams, $productname);

// $content = $this->renderPartial('_printproductledger', [
//     'modelProduction' => $modelProduction,
//     'dataProvider1' => $dataProvider1,
//     'searchModel1'  => $searchModel1,
//     //'data'=> $data,

//     'modelSell' => $modelSell,
//     'searchModel2' => $searchModel2,          
//     'dataProvider2' => $dataProvider2,

//     'productname' => $productname,
//     'prodesc' => $prodesc,

//     ]);
// $footer = "<table name='footer' width=\"1000\">
//    <tr>             
//      <td style='font-size: 18px; padding-bottom: 20px;' align=\"right\">Signature</td>
//    </tr>
//  </table>";
// $pdf = new Pdf([
//     'mode'=> Pdf::MODE_UTF8,
//     'format'=> Pdf::FORMAT_A4,
//     'destination'=> Pdf::DEST_BROWSER,
//     'orientation'=> Pdf::ORIENT_LANDSCAPE,
//     //'destination' => Pdf::DEST_DOWNLOAD,
//     'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
//     // any css to be embedded if required
//     'cssInline' => '.kv-heading-1{font-size:18px}', 
//      // set mPDF properties on the fly
//     'options' => ['title' => 'Print Party Ledger'],
//     //'options' => ['defaultfooterline' => 0,],
//     'options' => ['defaultheaderline' => 0,],
//      // call mPDF methods on the fly
//     'methods' => [
//         'SetHeader'=>['Ledger'], 
//         //'SetFooter'=>[$footer],
//     ],
//     'content' => $content,

// ]);
// return $pdf->render();
//return $this->render('_printSalarystatement', ['s_period' => $s_period]);

}

渲染到index2页面的ActionIndex

public function actionIndex2()
    {
        $searchModel = new SellitemSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

        return $this->render('index2', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
            ]);
    }

enter image description here


我不确定它在没有渲染的情况下如何工作......但无论如何,要定义它们,您需要将它们传递给查看文件。最常见的方法(我认为迄今为止最好的方法)是使用$this->render()手术。在你的最后public function actionStockbetweendates($upc, $startdate, $enddate) {添加这个:

return $this->render('index2', [
    'upc' => $upc,
    'startdate' => $startdate,
    'enddate' => $enddate,
];

附注:您不需要使用这些:

$upc = yii::$app->request->get('upc');
$startdate = yii::$app->request->get('startdate');
$enddate = yii::$app->request->get('enddate');

它们已在参数中定义(使用)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数据从表单传递到 yii2 中的控制器 的相关文章

  • 如何在 yii2 php 中添加 spinner/loader

    我想在我的其中一个表单中添加一个旋转器 加载器 场景很简单 当我按下create按钮 然后它将显示一个旋转器 加载器 点击创建按钮后 将调用 Web 服务 以便旋转器 加载器将从调用开始到调用结束显示 下面是我的控制器 m MetersIn
  • yii2 ActiveRecord 通过计算查找 OrderBy

    尝试从我的数据库中获取描述 查询返回结果 但我想将结果排序为仅显示得票最高的结果 投票数应按upvoted列减去downvoted column description UnitDescription find gt where id un
  • Yii2 将表单字段数组保存到单个数据库字段

    如何在 Yii2 中保存字段数组当前 默认设置仅适用于非数组的字段 以下是我需要保存到单个字段中的表单字段 div class repeat table class wrapper width 100 thead tr td width 1
  • 在 Yii2 中隐藏 URL 中的网页

    我已遵循中描述的答案这个问题 https stackoverflow com questions 27178364 yii 2 0 hiding basic web from the url along with the index php
  • 在 Yii2 中运行行为代码之前获取控制器操作

    我正在尝试在 a 中执行一些代码Yii2控制器 因为我需要模型中的一些代码才能在behaviors部分 以便我可以将模型作为参数传递并避免运行重复的查询 但是我还需要能够找出什么action正在被召唤 但我运气不太好 我尝试过使用befor
  • Bower/bower-asset 在 yii2 等 php 应用程序中扮演什么角色

    最近我部署了一些项目 例如trntv yii2 starter kit https github com trntv yii2 starter kit 等等 但所有应用程序都在 vendor bower 而不是 vendor bower b
  • Yii2:未找到(#404):无法找到标有“5578effb0790c4.13707485”的调试数据

    我在页面底部看到了这个 调试栏应该在哪里 问题是什么 这个请求 http localhost 81 xxx web debug default toolbar tag 5578f180963e82 28312577返回 404 我需要查看登
  • Yii 2 在点击默认联系人选项卡时出现异常

    当我在 Mac 上使用 localhost 运行时 出现此错误 支持 FreeType 的 GD PHP 扩展或 ImageMagick PHP 需要支持 PNG 的扩展名 我认为问题出在联系页面上默认渲染的 PNG 图片上 所有代码都是Y
  • yii2 作曲家更新致命错误

    当我更新我的作曲家以添加yii2 solr扩展我的项目时 我遇到如下错误 The yiisoft yii2 composer plugin requires composer plugin api 1 0 0 this WILL break
  • 在 yii2 gridview 中输入时进行过滤

    我需要在您键入时过滤网格视图 默认情况下 仅当按下回车键时才进行过滤 您应该使用自己的 js 来处理这个问题 例如 this gt registerJs body on keyup yiiGridView grid id filters i
  • Yii2:用户身份验证到底是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我不明白Authentication in Yii2 In Yii 1有一个身份类别 我们需要与authentication 方法和调
  • Yii2:对 ajax 提交的表单进行 ajax 表单验证

    我想知道是否有 Yii2 专家可以帮助我了解如何最好地结合使用 ajax 表单和 Yii ajax 验证 我想我可以解释这个问题 而无需向您介绍我的所有代码 我正在制作一个促销代码输入表单 用户在表单中输入促销代码 该表单通过 ajax 提
  • 使用第三方库记录来自 PHP 应用程序的所有 cURL 请求

    好吧 我的 PHP Yii2 应用程序遇到了困难 我需要记录来自应用程序的每个传入和传出请求 传入的请求可以轻松地记录在 PHP 本身中 在引导阶段添加一些处理程序 这很容易 但真正的问题是我正在使用许多第三方库 即 Amazon MWS
  • 如何禁用 Yii2 中的按钮

    我正在尝试禁用创建项目 Button当用户未登录时 该按钮将Hide or disable 这是我的条件 p p 它正在工作 但是 当用户登
  • Yii 2.0 AJAX 请求的 CSRF 验证

    我有一个ajax触发从我的数据库中删除条目的函数 我需要去做CSRF验证相同 我怎样才能做到这一点 我正在发送CSRF cookie连同我的帖子请求 但是Yii 2 0不验证它 并且通过 ajax 传递的任何输入都会到达服务器 我该怎么做C
  • 如何在 Yii2 应用程序中显示多个选择下拉列表中的选定值?

    我正在研究 Yii2 我正在使用这样的自定义数组创建多个选择下拉菜单 在控制器文件中 all groups Groups find gt where group created by id gt orwhere new Expression
  • Yii2 组件将数据传递给 __construct

    我有一个库 我想将其用作组件 在配置文件中我这样设置 components gt superLib gt class gt SuperLib construct gt first second Maybe Yii 2 have proper
  • 在 yii2 登录页面上重定向的最佳方法是什么

    如果用户未登录 则用户应该在登录页面上重定向 因为我发现该功能对我来说工作正常 我使用了以下功能 public function beforeAction action if Yii app gt getUser gt isGuest Yi
  • RESTful 响应如何在 Yii2 中返回 JSON 而不是 XML?

    问题是来自 Yii2 中 RESTful 服务器的响应以 XML 形式返回 而我需要它们采用 JSON 格式 我遵循 Yii2 的指南 控制器看起来相同 模型有点不同 它连接到数据库 该模型之前是从高级模板中的默认模型复制的 并且 Web
  • Yii2 - 如何自动加载自定义类?

    我创建了以下自定义类 我想在我的 Yii2 应用程序中使用它 common components helper CustomDateTime php namespace common components helper class Cust

随机推荐

  • 无法使用partitionByInstrument将文件分成多个部分

    使用music21无法将文件分成使用partitionByInstrument from music21 import song converter parse Nottingham train ashover simple chords
  • 验证长度 Powershell

    这是我的第一个剧本 所以不要打我 我正在编写一个脚本 该脚本根据用户输入创建网络目录和 AD 组 以下是我到目前为止所得到的 它有效 但我想进行一些改进 我想验证用户输入的长度 我找到了一篇文章 使用读取主机的 PowerShell Val
  • 无需凭据即可获取不同用户的特殊文件夹

    我正在编写一个卸载程序 作为该过程的一部分 我想为所有本地用户清理缓存 临时文件等 该应用程序将运行提升以使其正常工作 我正在查找的文件位于特殊文件夹中 例如AppData Local 所以我需要路径 对于当前登录的用户来说 这是微不足道的
  • React 中延迟数组映射迭代

    我有这个数组 我想迭代它 我需要在下一个之前延迟几秒钟 this props things map thing index gt return div thing content div Delay 1 second here 该数组的初始
  • 项目匹配查询不存在错误?

    这是视图 def showProject request project slug project Project objects get slug project slug tickets Ticket objects filter pr
  • 为什么 autoconf 会错误地找到一个以后不可用的函数?

    在 Linux 系统上 我配置了一个软件包 llvm autoconf 找到了arc4random功能 这里是配置期间输出的提取 checking for strerror yes checking for strerror r yes c
  • 如何以 JSON 形式发送 POST 请求?

    data ids 12 3 4 5 6 urllib2 urlopen http abc example api posts create urllib urlencode data 我想发送 POST 请求 但其中一个字段应该是数字列表
  • Swift 只读外部,可读写内部属性

    在 Swift 中 定义通用模式的传统方法是什么 其中属性是外部只读的 但可以由拥有它的类 和子类 在内部修改 在 Objective C 中 有以下选项 在接口中将属性声明为只读 并使用类扩展在内部访问该属性 这是基于消息的访问 因此它可
  • 一个衬垫:从列表创建一个字典,以索引为键

    我想根据给定的列表创建一本字典 仅一行 字典的键将是索引 值将是列表的元素 像这样的事情 a 51 27 13 56 given list d one line statement one line statement to create
  • 以简单的方式导出到 Excel(但不是 CSV)

    昨天我发现了这个How To通过简单地生成 HTML 将数据导出到 Excel 电子表格 这似乎是一种直接导出带格式的单元格的方法 而仅使用 CSV 格式是无法实现的 我的想法是在Java应用程序中处理一些数据 将结果导出到Excel电子表
  • 为什么 JSLint 不允许在 for 循环中使用“var”?

    我的代码或 plovr 有问题 我去 JSLint 寻求帮助 然而 JSLint 似乎认为这是一个致命错误 并拒绝检查更多代码 for var i 0 i lt data length i 4 为什么 我喜欢这种宣告 我 的方式 如果您使用
  • 跟踪对象的“页面浏览量”或“点击量”数量?

    我确信有人有一个可插拔的应用程序 或教程 可以近似于此 但我很难找到它 我希望能够跟踪特定对象的 视图 数量 就像这里的问题一样 stackoverflow 上有一个 观看次数 如果用户没有登录 我不介意尝试放置 cookie 或记录 IP
  • Ant 使用了错误的 java 版本

    我正在使用 Ant 1 7 0 并安装了位于 JAVA HOME 中的 java 1 6 我想使用 java 1 5 构建一个项目 因此我已将 JAVA HOME 导出为我的 java 1 5 目录 java version 说 1 5 当
  • 为什么 CUDA 的示例 makefile 找不到 CUDA 库?

    我正在运行 Arch Linux 并已从存储库安装了 cuda sdk 和 cuda toolkit 我已经编译了 opt cuda sdk CUDALibraries 中的库 不 我通过在 opt cuda sdk C 中运行 make
  • 使用 Chapel 处理海量矩阵

    我最近偶然发现了 Chapel 我非常想尝试一下 我有一个双重问题 希望它能解决 我通常使用 Python 或 C 工作 当Java陷入困境时 我有两个矩阵I and V 两者都很稀疏 尺寸约为 600K x 600K 密度约为 1 首先
  • 在高清图像上应用 WebGL 滤镜会剪切图像 (fabric V2-beta-6)

    目前正在与面料2 0 6对高清图像应用滤镜 我需要在最短的时间内应用过滤器 为此 我使用 webGL 方法来应用过滤器 如下所述这里 fabric js 演示 如果您将其应用于大小 Original Image size 1 90 MB H
  • 为什么这段代码中图像下方有空格? [复制]

    这个问题在这里已经有答案了 我有以下代码 它允许红色从 a 元素中显示出来 为什么是这样 我本以为 a 元素只会扩展到内容的大小 但看起来它比这个大一点 请参阅此处的代码笔http codepen io anon pen soqEz HTM
  • React Js,我的输入在渲染时失去焦点

    嘿 我是 React js 新手 任何人都可以帮助回答这个问题 如何防止输入字段在打字时失去焦点 每次我在某个输入字段中输入内容时 该字段就会失去焦点 注 第一个 div 输入工作得很好 import React Fragment useS
  • UDF 返回的数组对于调用范围来说太大或太小

    以下函数将数组返回到工作表 我标记一个区域 键入我的函数并按 Ctrl Shift Enter 以使单元格填充记录集中的数据 但是 如果我的 CSE 函数的选定区域大于返回的记录集 我会收到 N A 如果较小 则不会发出任何警告 有没有简单
  • 将数据从表单传递到 yii2 中的控制器

    I am creating a page that has 3 fields product code startdate enddate When I click on the search button it should create