我正在学习如何使用laravel创建web应用程序,但我不知道为这个示例表单创建结构的正确方法:
我有一个名为PostController的简单控制器,方法如下:index()
、create()
、store()
、show()
、edit()
、update()
、destroy()
通过CCD_ 8创建。我在通过Route::resource()
方法创建的web.php文件中有它的路由。
现在,我在PostController中的create()
方法显示了一个用于创建新帖子的表单,但该表单需要从列表中选择一个选项。我无法显示整个列表,因为它有数千个选项。我想创建一个搜索字段,使用ajax从我的数据库中获取可用选项。然后用户只需选择一个选项,就可以发送表单。
当然,这只是一个例子,但在这种情况下,我应该把我的方法控制器和搜索选项的路线放在哪里?我应该在PostController(即searchOption($string((中装入额外的方法,还是应该是新的控制器?如果它应该是新的控制器,那么你对它的文件夹/名称结构有什么建议吗?我应该把我的路线放在哪里?仍在web.php中?还是api.php?再说一遍,我应该如何命名这条路线?
如果你有另一个实体,你可以制作另一个控制器。假设您想要在Post
的创建视图中过滤City
。
// Controllers/Api/CityController.php
public function index(Request $request)
{
$query = City::query();
if ($request->has('search')) {
$query->where('name', 'LIKE', $request->input('search') . '%');
}
$cities = $query->paginate();
return response()->json(['cities' => $cities]);
}