好的,我尝试搜索解决方案,从表单中获取值并插入Laravel查询生成器,但我还没有找到答案。
所以,如果我正在建立一个查询
->where ('company.city', '=', $form_value_for_city)
如何在POST或GET请求中获取表单传递的$ form_value_for_city的值。
相当于获得价值的东西,比如
$form_value_for_city = $_GET["city"]
我了解Laravel的安全标准,但是从表单提交中传递查询中的值的确切方法是什么。
答案 0 :(得分:2)
您可以使用请求对象来获取帖子并获取值:
request()->get('variable_name');
如果将具有Illuminate \ Http \ Request类型的参数传递给控制器方法,则可以使用该参数:
use Illuminate\Http\Request
public function store(Request $request)
{
$request->all(); //returns all values
$request->has('variable_name'); // check for existance
$request->get('variable_name'); // get the value
}
可以将表单中的数据直接传递给Larave查询构建器方法。因为Laravel的Eloquent ORM使用PDO参数绑定来避免SQL注入。所以你可以安全地做->where ('company.city', '=', $request->city)
。
答案 1 :(得分:0)
如果您将值作为POST方法发布
<form method="POST" action="delete-blog">
<input type="text" name="form_value_for_city" />
</form>
在控制器中你可以像这样访问
public function deleteBlogPost(Request $request) {
$request->form_value_for_city
}
还要确保已在控制器中导入use Illuminate\Http\Request;
在路线中,您必须为此
添加发布路线Route::post('delete-blog','BlogController@deleteBlogPost');
获取请求 在路线:
Route::get('edit-tag/{id}','BlogController@editTag');
控制器中的
public function editTag($id) {
$response = Tag::retrieveTagById($id);
return view('tag', ['data' => $response]);
}
根据你的问题,如果它的帖子
->where ('company.city', '=', $request->form_value_for_city)
如果它的Get然后你有一些这样的想法
public function test($form_value_for_city){
->where ('company.city', '=', $form_value_for_city)
}