将数据从表单传递到 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 中的控制器 的相关文章

  • 无法获取以 Json 形式返回的 Yii2 对象数据

    我是 Yii2 框架和 PHP 的新手 当我尝试从服务器检索模型数据时json 我得到一个空结果 但是 当我使用var dump 我得到一个非空结果 控制器类代码 public function actionIndex client new
  • 如何在 Yii 2 中检索会话值

    当我将产品添加到购物车会话并获取会话购物车值时 我遇到了 Yii 2 会话的问题 session start print r SESSION exit 我得到了这条线 Array flash gt Array id gt 65 另外在尝试
  • Yii2 将表单字段数组保存到单个数据库字段

    如何在 Yii2 中保存字段数组当前 默认设置仅适用于非数组的字段 以下是我需要保存到单个字段中的表单字段 div class repeat table class wrapper width 100 thead tr td width 1
  • 如何以使用不同模型的形式实现kartik yii2 FileInput

    这是位于 myyiiapp backend views product form php 的代码 div class product form div
  • Yii2 REST 查询

    嘿 我有一个 ProductController 它扩展了 yii rest ActiveController 问题是我如何通过 HTTP GET 请求进行查询 Like http api test loc v1 products sear
  • 在 Yii2 中运行行为代码之前获取控制器操作

    我正在尝试在 a 中执行一些代码Yii2控制器 因为我需要模型中的一些代码才能在behaviors部分 以便我可以将模型作为参数传递并避免运行重复的查询 但是我还需要能够找出什么action正在被召唤 但我运气不太好 我尝试过使用befor
  • 如何获取Yii2和DbManager中特定角色的用户?

    如何在RBAC中获取Yii2和DbManager中特定角色的用户 请介绍一些用于用户管理和角色管理的API 我搜索并阅读Yii2 指南 http www yiiframework com doc 2 0 guide index html但我
  • 如何在 yii2 basic 中使用日期选择器?

    我想使用 yii2 datepicker 但我在实现它时遇到了麻烦 它不显示日期选择器 我不知道我的代码中缺少什么 我对这个yii还是个新手 div class row div class col lg 6 div class myproj
  • 如何在yii2高级模板中上传web文件夹中的文件?

    我尝试在后端上传文件 每次上传文件时 它都会成功上传并成功保存在数据库中 但它没有保存到我指定的目录中 因此我的应用程序找不到该文件 并且我已经给出了 777对 web 目录中的 uploads 文件夹的权限 下面是我的代码 处理和保存文件
  • Yii 2 在点击默认联系人选项卡时出现异常

    当我在 Mac 上使用 localhost 运行时 出现此错误 支持 FreeType 的 GD PHP 扩展或 ImageMagick PHP 需要支持 PNG 的扩展名 我认为问题出在联系页面上默认渲染的 PNG 图片上 所有代码都是Y
  • Yii2 迁移。表名中的百分号和括号

    我在github上浏览了yii2 oauth2 server代码 并在其中遇到了有趣的语法迁移文件 https github com Filsh yii2 oauth2 server blob master migrations m1405
  • Yii2打开应用程序出错的解决办法

    我遇到以下问题 即打开 Yii2 应用程序时 浏览器中的费用如下 http localhost basic web 并且出现以下错误 Fatal error Cannot use Object as class name as it is
  • Debian - /usr/bin/env: 'php\r': 没有这样的文件或目录

    所以当我跑步时 直接讨论问题 yii似乎我从 Debian stretch 中收到了从 Docker 运行的错误 然而当我跑步时 usr bin env php v我得到了正确的输出 没有问题 似乎新行被翻译为字符串时出现问题 我不知道如何
  • Yii2:用户身份验证到底是如何工作的? [关闭]

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

    我想知道是否有 Yii2 专家可以帮助我了解如何最好地结合使用 ajax 表单和 Yii ajax 验证 我想我可以解释这个问题 而无需向您介绍我的所有代码 我正在制作一个促销代码输入表单 用户在表单中输入促销代码 该表单通过 ajax 提
  • 在 Yii2 中从数据库中多态查找模型

    我在数据库 mysql 中有一张表 但该表存储了几种略有不同类型的行 类型取决于此表的type柱子 我有一个表的抽象 ActiveRecord 类和几个后代子类 它们为不同类型的同一表的行实现略有不同的逻辑 现在我正在为所有类型的行实现更新
  • Yii2 从 MySQL 中的表登录的分步指南

    我开始在 Yii2 中迈出第一步 到目前为止 我已经能够编写一个应用程序并将数据库中的表连接到它 就像我在 Yii1 中学到的那样 该表是contacts我的创建视图中的表单将数据发送到数据库 没有任何问题 问题是我只能在 Yii2 内置的
  • 尝试获取 yii2 中非对象的属性

    我想访问 hasMany 关系 但我收到此内容的错误 PHP 注意 yii base ErrorException 试图获取非对象的属性 这是我的观点 news index php div class row div class col m
  • 附加时间戳和注册资产包

    我使用以下配置通过资产管理器在资产路径中添加时间戳 assetManager gt appendTimestamp gt true 应用程序资产 php class AppAsset extends AssetBundle public b
  • 如何在 yii2 中使用两个不同的模型登录或切换身份类别?

    我想允许用户从两个不同的模型登录 配置文件 user gt identityClass gt app models User one more class here enableAutoLogin gt false authTimeout

随机推荐

  • 无法使用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