php - 如何将所有行从表传递到刀片视图?
问题描述
控制器:
public function index(){
$bike1 = Bike::get()->first();
$bike2 = Bike::get()->skip(1)->first();
return view('compare.index')->with(['bike1'=> $bike1, 'bike2'=> $bike2 ]);
}
在这里,我只将第一行和第二行传递给刀片视图。
刀片视图:
Select first bike
<form action ="{{ route('compare.get', [$bike1->id, $bike2->id]) }}" method="get">
<div class="first_bike" style="width:200px;">
<select name="bike1">
<option value="{{ $bike1->id }}"> {{ $bike1->name }}</option>
</select>
</div>
<br>
Select second bike
<div class="second_bike" style="width:200px;">
<select name="bike2">
<option value="{{ $bike2->id }}"> {{ $bike2->name }}</option>
</select>
</div>
<br>
<button type="submit"> Compare </button>
</form>
get 控制器将值传递给另一个显示数据的视图。有用。
如何将所有行传递给刀片视图?我知道我可以使用所有函数并循环刀片中的变量来获取所有行。像这样
@foreach($bike1 as $b1)
<option value="{{ $b1->id }}"> {{ $b1->name }}</option>
@endforeach
@foreach($bike2 as $b2)
<option value="{{ $b2->id }}"> {{ $b2->name }}</option>
@endforeach
如果这样做,那么如何在表单的操作属性中使用$b1
and作为路由参数?$b2
我可以从控制器操纵解决方案,让我的刀片保持原样吗?或者我如何改变刀片视图以实现我的目标?我被困住了
解决方案
好吧,如果我让你正确,你的控制器应该像
public function index(){
$bike1 = Bike::all();
$bike2 = Bike::all();
return view('compare.index')->with(['bike1'=> $bike1, 'bike2'=> $bike2 ]);
}
然后你修改你的观点
Select first bike
<form action ="{{ route('compare.get'}}" method="get">
<div class="first_bike" style="width:200px;">
<select name="bike1">
@foreach($bike1 as $b1)
<option value="{{ $b1->id }}"> {{ $b1->name }}</option>
@endforeach
</select>
</div>
<br>
Select second bike
<div class="second_bike" style="width:200px;">
<select name="bike2">
@foreach($bike2 as $b2)
<option value="{{ $b2->id }}"> {{ $b2->name }}</option>
@endforeach
</select>
</div>
<br>
<button type="submit"> Compare </button>
</form>
对于提交,您不必将它们作为路由参数,只需让表单提交并在您将表单提交到的控制器中获取 GET 变量,您可以使用 Request 对象来执行此操作
$bike1 = Request->input('bike1');
$bike2 = Request->input('bike2');
希望您理解这一点,只需确保将 Request 对象设置为您要提交到的控制器中的参数
推荐阅读
- vmware-player - VMware 工作站播放器在软件升级到版本 15 时无法使用暂停按钮
- c++ - 为什么这是一个未解决的符号
- asp.net - 无法加载 DLL 'libargon2.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)
- ruby - Ruby Inherit Class 在同一模块中的 2 个分隔文件
- powershell - 从 powershell 脚本连接到 firebird
- json - 使用 JSON 在 select2 中加载选项时搜索不起作用
- java - 是否可以在 Java Servlet 中转发 WebSocket 流?
- angular - Angular 8补丁对象到[ngValue]
- javascript - 显示来自对象的随机内容
- matlab - 调整图像大小会增加噪点?