laravel - Laravel $request 值为空
问题描述
我想在您选择公司的地方创建下拉菜单,它会向您显示该公司的所有者,但是当我从控制器中的 Blade.php 请求数据时,我得到 NULL。这是我的blade.php
<form>
<label>Company:</label>
<select id="test" name="test" class="form-control input-sm">
@foreach($companies as $company)
<option value="{{$company->id}}">{{$company->name}}</option>
@endforeach
</select>
</form>
这是我的控制器
public function index(Request $request)
{
$companies = Company::all();
$company_id = $request->get('company');
$owners = Owner::where('company_id',$company_id)->get();
return view ('owners', compact('owners','companies'));
}
它没有显示任何用户但是如果我像这样手动输入任何数字
$company_id = 1;
然后它显示 ID 为 1 的公司的所有者。
更新 2
我的表格现在看起来像这样
<form action="{{ action('OwnerController@index') method="get"}}">
我的路线是这样的
Route::get('owners', 'OwnerController@index');
它还是一样的。
解决方案
正如我之前所说,我缺少一些脚本。这解决了我的问题。
<form method="get" id="company_change">
<label for="company">Company:</label>
<select id="company" name="company" onchange="document.getElementById('company_change').submit()">
<option value="">----Select Company-----</option>
@foreach($companies as $company)
<option value="{{$company->id}}">{{$company->name}}</option>
@endforeach
</select>
</form>
我的路线是
Route::resource('owners', 'OwnerController');
推荐阅读
- firebase - npm 警告安装 firebase
- rust - 为 Cargo.toml 提供 fmt 预提交钩子的位置
- java - Spring Framework - Kotlin - 将实体保存到 XML
- html - 居中和右对齐 flexbox 元素与 text-oveflow 并在左侧占用空白空间
- ios - 如何从 simctl 命令行检索 ios 设备屏幕分辨率
- c# - Selenium C# 从表的列中获取值并将它们转换为字符串列表
- python-3.x - 有没有办法在 .txt 文件中搜索一个键并在 Python 3.7 中更新它的值?
- java - 使用 LoggerContext 后 log4j2 的控制台中显示错误日志
- regex - 用于验证邮政编码格式的 dart 正则表达式
- macos - Mac App Bundle 在经过公证加固后无法访问 USB 设备