1 回答

TA贡献1817条经验 获得超6个赞
在 laravel 控制器中,action 可以接收一个 Request 对象作为参数,该对象可用于从前端获取过滤器。
public function searchFilms(Request $request)
{
$data = $request->all();
$user = Auth::user();
return FilmResource::collection($this->repository->searchFilms($data));
}
Request 类有不止一种获取数据的方法,你可以阅读这篇文章来了解它们,但是,->all()(更多关于它的信息是其中一种方法。
然后将数据传递给您的 searchFilms 函数并应用过滤器
public function searchFilms($filters)
{
$films= Film::from('films')
->join('categories', 'films.id', '=', $filters['film_id'])
->join('locations', 'id', '=', $filters['location_id'])
->join('age_rating', 'id', $filters['age_rating_id'])
->orderBy('updated_at', 'desc');
}
类似的东西会起作用,我不知道你输入的名称,但你可以从中得到一个想法。
已编辑
因此,为了在评论中澄清您的问题。
$request->all() 将返回您发布的数据的数组,其中输入的属性名称将是每个值的键。例如,假设我有以下 html 表单:
<form>
<input name="name" type="text" value="john doe" />
<input name="age" type="text" value="39" />
</form>
$request->all()将是这样的数组['title' => 'john doe', 'age' => '39'];
- 1 回答
- 0 关注
- 116 浏览
添加回答
举报