我正在使用Laravel 5.4并寻找将Product
模型注入我的控制器的解决方案。问题是,我从POST
格式的隐藏字段中获取了产品的ID到静态路由Route::post('/products/check'...
。
这是我表单的内容
<form action="{{ route('product.check') }}" method="post">
<input type="hidden" name="product" class="modal-product" value="some-product-id-injected-with-js" required/>
<div class="form-group">
<label for="email" class="form-control-label">Email Address:</label>
<input type="email" class="form-control" name="email" id="email"
value="{{ Auth::user()->email }}" required/>
</div>
<button type="submit" class="btn btn-primary">Check</button>
</form>
我想要一个像这样的控制器方法:
public function check(Request $request, Product $product) {
/*...*/
}
将$product
映射到表单中隐藏字段的ID,然后我将从$request
中提取电子邮件。
我正在思考一些中间件,但我不知道它是否是最好的解决方案(而且我不知道如何通过中间件来实现)因为我真的不是了解DI和IoC容器如何在幕后工作。我之前通过路由通配符使用了路由模型绑定。