yii2中单字段双模型搜索的双网格视图

yii2中单字段双模型搜索的双网格视图,yii2,Yii2,我有一个带有字段和按钮的搜索表单。在按钮上,单击我要搜索2 searchmodel-sellitembtdtSearch和PuriItemBTDTSearch。结果将显示在一个视图中。我可以毫无问题地显示视图。问题是当我搜索时,只有一个searchmodel被搜索。请让我知道如何在同一时间搜索两个searchModel 首先,我进入index2.php页面,表单位于该页面上 'action' => ['/stock/sellitem/printproductledger3',], 'met

我有一个带有字段和按钮的搜索表单。在按钮上,单击我要搜索2 searchmodel-
sellitembtdtSearch
PuriItemBTDTSearch
。结果将显示在一个视图中。我可以毫无问题地显示视图。问题是当我搜索时,只有一个searchmodel被搜索。请让我知道如何在同一时间搜索两个searchModel

首先,我进入index2.php页面,表单位于该页面上

'action' => ['/stock/sellitem/printproductledger3',],
'method' => 'get',
<?= $form->field($model, 'productname')->textInput(['maxlength' => true,]) ?>
<?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?>


此代码仅搜索
puritemdtdtSearch
。我想同时搜索
puritembtdtSearch
sellitembtdtSearch
。谢谢。

问题是您正在表单中使用searchModel2,因此您只需要获得searchModel2的结果。并且没有得到searchModel1的结果

  • 您可以做的是将searchModel1发送到您的搜索文件

     <?php echo $this->render('_search', ['model1' => $searchModel1, 'model2' => $searchModel2]); ?>
    
    
    
  • 现在在表单中使用隐藏输入

        <?php echo $form->field($model1, 'productName')->textInput(['id' => 'model1']); ?>
        <?php echo $form->field($model2, 'prodcutName')->hiddenInput(array('id' => 'model2')); ?>
    
    
    
  • 现在我们有两个模型字段需要填充隐藏字段,这可以使用jquery完成

        <?php $this->registerJs('
             //add the .search class name for your search button
            jQuery("body").on("click", ".search", function() {
            alert("Hello");
            var a = $("#model1").val(); 
            $("#model2").attr("value", a);
          });
       ');?>
    
    
    

试试这个……完全测试过,效果很好

您考虑过使用ajax吗?您需要搜索不同的搜索模型是什么意思。。。您可以只搜索1 searchModel并使用关系(如果它们是相关的)Yes。这里-…它们有一个公共字段,但由于我想显示两个单独的gridview,我想构建单独的搜索模型。否。它们不相关。所以你有两个网格视图,你是说?
    <?php $this->registerJs('
         //add the .search class name for your search button
        jQuery("body").on("click", ".search", function() {
        alert("Hello");
        var a = $("#model1").val(); 
        $("#model2").attr("value", a);
      });
   ');?>