这是 Controller.php
public function dropdown($id)
{
$stations = Station::lists('station_name','id');
return view('stations.show')->withStation($station);
return view('stations.dropdown',compact('stations', 'selectedStation','selectedStation'));
}
这是 view.php
{{ Form::select('station',$stations,null,['class' => 'form-control']) }}
<br>
<?php
if(isset($_GET['submit'])){
$selectedStation = $_GET['station'];
echo $selectedStation;echo "<br>";
}
else
{
echo "not working";
}
?>
选择电台时,仅显示&#34; id&#34;选定的电台。如何检索所选工作站的其他列?
答案 0 :(得分:0)
你可以解决这个问题的很多方法,我也做了一些假设。 你的清单(看起来似乎)只包含名称&amp; id。
我认为当您获得在下拉列表中选择的特定项目的信息时,您不想重新加载页面。
以下是我想到的前两个选项。
1。)AJAX - 使用jQuery这样的javascript框架和监视器change()
进行选择,在更改时获取id
并将其激活到Laravel中的另一条路径,该路由获取ID并返回更多信息在JSON中。然后,您可以使用JS随意向用户显示此内容。
2.。)预加载的JSON - 编写新的数据库查询,获取您想要的所有信息,并以JSON
格式存储在某些<script>
标记内。它不会被用户看到。然后,您可以使用jQuery或其他JS框架在change()
第2部分会更快,如果你有100,000个记录,我会建议为perf。
道歉,如果我完全误解了这个问题,似乎你需要一个JS解决方案而不是Laravel / PHP解决方案。 (没有糟糕的用户体验)如果你没有更多的数据,你需要发布它和新请求从数据库中获取数据。
答案 1 :(得分:0)
要显示所有工作站的所有列,您可以执行以下操作。 请注意,这样做可以获取所有可能不需要的内容,并且可能有更好的方法可用于雄辩的模型类,具体取决于您要执行的操作。
<强>控制器强>
public function showTable()
{
//Fetch all stations from the database
$stations = Station::all();
//Return fetched data to the view
return view('stations.show', ['stations' => $stations]);
}
查看 - 站点/ view.blade.php
<ul>
@foreach ($stations as $station)
<li>{{$station->station_name}} - {{$station->rainfall}}</li>
@endforeach
</ul>
有关雄辩模型类的更多信息和示例,您可以查看:https://laravel.com/docs/5.2/eloquent