【问题标题】:How to pass variables from view to controller without form in laravel php如何在laravel php中将变量从视图传递到控制器而没有表单
【发布时间】:2017-02-27 12:01:36
【问题描述】:

我在视图文件夹中有这些值。 .blade 文件是

@foreach($nam as $ergebnisse)
<h3>Id:{{$ergebnisse->id}}
Name_Id:{{$ergebnisse->name_id}}
Geometrie_Id:{{$ergebnisse->geometrie_id}}
</h3>
<h3>

  <li>{{$ergebnisse->probe}}</li>
  <li>{{$ergebnisse->schnittgrosse}}</li>
  <li>{{$ergebnisse->temperatur}}</li>
  <li>{{$ergebnisse->zeit}}</li>
  <li>{{$ergebnisse->aussehen}}</li>
  <li>{{$ergebnisse->farbe}}</li>
  <li>{{$ergebnisse->deformation}}</li>
  <li>{{$ergebnisse->geruch}}</li>
  <li>{{$ergebnisse->texture}}</li>



</h3>

 @endforeach

现在我想根据这些参数进行另一个查询。那么如何将这些参数传递给控制器​​,或者有没有其他方法可以在视图中生成查询并显示它们?

【问题讨论】:

  • Harron,如果我没记错的话,您想使用上述值触发另一个查询吗?
  • 是的。我想触发另一个查询
  • Harron 那么你应该在模型本身中执行查询,然后使用compact('data' ,'2ndqueryresult')从控制器传递它的视图
  • 你能帮我如何访问控制器中 $nam 的所有行吗?谢谢
  • 感谢 SoftwareDev 的评论。公共函数 getErgebnisse(){ $GEM=1; $name =1;$nam=Ergebnisse::where('name_id', $name) ->where('geometrie_id', $GEM) ->get();返回视图('pages.ergebnisse')->with('nam',$nam);

标签: php laravel orm eloquent


【解决方案1】:

你的问题不是很清楚,所以我有两种可能的解决方案:

  1. 如果您想加载另一个视图,您可以执行以下操作:

您可以发送带有链接的参数,无需是表单。

所以你可以做类似&lt;a href="your-url/{{$nam-&gt;id}}"&gt;Do stuff&lt;/a&gt;

这会将您的 $nam 对象的 id 发送到您喜欢的路线。

您的路线将如下所示:

Route::get('your-url/{$nam}', YourController@test);

在你的控制器中你必须捕捉到这个值

public function test(Nam $nam) {
  return $nam;
}
  1. 如果您想加载相同的视图并有 2 个不同的查询,只需 在控制器中执行 2 个不同的查询并发送它们 单独的低谷。

所以在你当前的控制器中:

public function index(){
 $nam = Nam::all();
// this is your second query:
$nam2 = Nam::latest()->get();

return view('your-view', compact('name','nam2' //this is the second variable))
}

【讨论】:

  • 感谢您的回答。我是 web 开发的新手,尤其是 laravel。问题是行可以根据用户的选择变化到 8,因此总参数可以达到 72 或更多. 使用链接传递 72 个参数是个好主意吗?我在想可能有某种方法或技巧来传递整个数组并将其放入控制器中。我知道它与 mvc 无关。
  • 您可以在链接中传递任何类型的参数。所以如果你想传递一个数组,只需传递它。我写的 $nam->id 只是一个例子。 laravel.com/docs/5.4/routing#route-parameters
猜你喜欢
  • 2020-11-03
  • 2014-12-08
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多