【问题标题】:How to show results of model on another view MVC如何在另一个视图 MVC 上显示模型的结果
【发布时间】:2017-03-14 15:03:04
【问题描述】:

我是使用 MVC 框架(如 Yii2)的新手,并且不熟悉 PHP,但我知道自己在做什么。

我需要有关在另一个视图上渲染局部视图的帮助。我有一个activeForm,它的模型是从数据库中请求学生信息。我想在另一个视图(员工)上呈现所述学生视图,并在同一视图上显示学生的结果。这些视图和模型在单独运行时工作正常,但是,当我提交rendePartial 表单时,它根本不显示结果。页面只是刷新并回到正常状态,就好像我没有输入任何输入一样。

我该如何解决这个问题?任何人都可以帮助并指出正确的方向吗?我只需要在另一个视图上显示结果就可以了!

【问题讨论】:

  • 如果您提供minimal working example 将非常有帮助。
  • 更新你的问题添加你相关的控制器/动作和查看代码。
  • 谢谢!这是 pastebin 的链接:pastebin.com/H8YytdBJ,如果阅读不太多,我也可以在这里放一些代码。

标签: php model-view-controller yii


【解决方案1】:

而不是这个:

Yii::$app->controller->renderPartial('index', ['model'=>$model])

试试这个:

$this->render('index', ['model'=>$model])

【讨论】:

  • gmc,以上两种方式都以相同的方式呈现,但我遇到的问题是,由于索引是在另一个具有自己的形式(和模型)的视图之上呈现的,我可以'从其模型中看不到索引视图的结果。也许我缺少控制器的连接。我有两个视图和两个模型,但我想在人员索引之上呈现索引并显示结果。我确实为他们的 DIV 显示和隐藏。当我点击学生然后索引渲染并隐藏另一个,反之亦然。
  • 您的情况有点难以理解。如果我没记错的话,你必须显示不同的模型类,对吧?在顶部,您想在表格下方显示“员工”模型,并在表格下方显示学生模型,对吗?如果是这种情况,您应该将视图传递给两个模型,然后使用人员视图渲染一个并在表单中使用另一个
  • 是的,请客气。这是我的场景。我有两个模型类和两个视图,它们都有表单,对吧。我想通过选择一个下拉菜单来显示每个表单的形式,并在同一视图上显示人员模型的结果。我的问题是我不知道该怎么做。
  • 如果我理解正确,您需要使用两种模型:一种用于结果,一种用于搜索。您应该将它们都传递给视图。在控制器中,您接收表单并将其加载到结果模型中。然后为搜索表单创建一个新的空模型。
  • gmc,它是如何工作的?到目前为止,我创建了具有 findFirstnames 查询功能的人员模型,并在同一模型上定义了表单的规则。这同样适用于学生模型。但是由于我要renderPartial,所以找不到查看局部视图结果的方法。我这样做是因为我想在example.com/lookup 之类的同一网址上查看两个视图。现在,我有两个用于教职员工(/staff)和学生(/students)的链接。你碰巧有你上面提到的示例代码吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-10
相关资源
最近更新 更多