使用表单编辑数据库中的数据 laravel
Edit data from database using forms laravel
所以我打算做一种表单来编辑用户的数据。我目前正在使用 laravel-8 并且我对它很陌生。如何使用表单编辑数据并请求有人帮忙?我打算将函数放在我的仪表板控制器中,并将表单放在我将要处理的空白页面中。到目前为止,这是控制器:
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Auth;
use Illuminate\Http\Request;
class DashboardController extends Controller
{
public function dashboard()
{
$dashboardTitle = "Dashboard";
$isCurrent = "dashboard";
return view('dashboard.index', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
}
public function profile()
{
$dashboardTitle = "Profile";
$isCurrent = "Profile";
return view('dashboard.profile', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
}
public function directory()
{
$dashboardTitle = "Directory";
$isCurrent = "Directory";
$users = User::all();
return view('dashboard.directory', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent,
'users' => $users
]);
}
public function journal()
{
$dashboardTitle = "Journal";
$isCurrent = "Journal";
return view('dashboard.journal', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
}
public function files()
{
$dashboardTitle = "Files";
$isCurrent = "Files";
return view('dashboard.files', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
}
}
我想把它放在配置文件功能中。任何帮助将不胜感激:D
我记得在学习的时候犯过同样的错误laravel lol :)
不,您需要做的是创建一个用户资源控制器并让 Laravel 使用以下 artisan 命令为您完成工作:
php artisan make:controller UserController -r -m User
或者,如果你想在一个命令上创建控制器、迁移、模型、工厂和播种器,只需执行(小心,因为 laravel 已经有一个用户模型):
php artisan make:model User -a
Laravel 将在其中创建一个资源控制器,您将拥有可用于更新所有必需数据的预定义函数
您还需要像这样更新您的路由文件以添加您的资源控制器:
Route::resource('user', UserController::class);
Laravel 将自动创建所有路由以使用控制器,例如,如果您转到 localhost/yourapp/public/user
Laravel 将调用索引函数,在那里您只需发送所有开始数据可能是这样的:
public function index()
{
$dashboardTitle = "Dashboard";
$isCurrent = "dashboard";
return view('dashboard.index', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
如果你去localhost/yourapp/public/user/create
Laravel会调用用户class的create方法,如果你只是想检索特定用户你只需要发出一个get请求到 localhost/yourapp/public/user/{user_id}
并在显示函数中输入如下内容:
public function show($id)
{
return view('user', [
'user' => User::find($id),
]);
}
要使用 post 请求更新用户,您只需向 localhost/yourapp/public/user/{user_id}
发出 post 请求,并且在控制器中有这样的内容:
public function update(Request $request, User $user)
{
$user->fill($request->all());
$user->save();
return response()->json([
'success' => 'ok',
'msg' => 'User modified',
], 200);
}
我可以一整天,但如果您尝试查找并遵循许多 laravel 向您展示代码的 CRUD 教程并逐步解释或阅读文档,那就最好了:
https://laravel.com/docs/8.x/controllers
https://codingdriver.com/laravel-8-crud-app-example-tutorial.html
所以我打算做一种表单来编辑用户的数据。我目前正在使用 laravel-8 并且我对它很陌生。如何使用表单编辑数据并请求有人帮忙?我打算将函数放在我的仪表板控制器中,并将表单放在我将要处理的空白页面中。到目前为止,这是控制器:
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Auth;
use Illuminate\Http\Request;
class DashboardController extends Controller
{
public function dashboard()
{
$dashboardTitle = "Dashboard";
$isCurrent = "dashboard";
return view('dashboard.index', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
}
public function profile()
{
$dashboardTitle = "Profile";
$isCurrent = "Profile";
return view('dashboard.profile', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
}
public function directory()
{
$dashboardTitle = "Directory";
$isCurrent = "Directory";
$users = User::all();
return view('dashboard.directory', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent,
'users' => $users
]);
}
public function journal()
{
$dashboardTitle = "Journal";
$isCurrent = "Journal";
return view('dashboard.journal', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
}
public function files()
{
$dashboardTitle = "Files";
$isCurrent = "Files";
return view('dashboard.files', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
}
}
我想把它放在配置文件功能中。任何帮助将不胜感激:D
我记得在学习的时候犯过同样的错误laravel lol :)
不,您需要做的是创建一个用户资源控制器并让 Laravel 使用以下 artisan 命令为您完成工作:
php artisan make:controller UserController -r -m User
或者,如果你想在一个命令上创建控制器、迁移、模型、工厂和播种器,只需执行(小心,因为 laravel 已经有一个用户模型):
php artisan make:model User -a
Laravel 将在其中创建一个资源控制器,您将拥有可用于更新所有必需数据的预定义函数
您还需要像这样更新您的路由文件以添加您的资源控制器:
Route::resource('user', UserController::class);
Laravel 将自动创建所有路由以使用控制器,例如,如果您转到 localhost/yourapp/public/user
Laravel 将调用索引函数,在那里您只需发送所有开始数据可能是这样的:
public function index()
{
$dashboardTitle = "Dashboard";
$isCurrent = "dashboard";
return view('dashboard.index', [
'dashboardTitle' => $dashboardTitle,
'isCurrent' => $isCurrent
]
);
如果你去localhost/yourapp/public/user/create
Laravel会调用用户class的create方法,如果你只是想检索特定用户你只需要发出一个get请求到 localhost/yourapp/public/user/{user_id}
并在显示函数中输入如下内容:
public function show($id)
{
return view('user', [
'user' => User::find($id),
]);
}
要使用 post 请求更新用户,您只需向 localhost/yourapp/public/user/{user_id}
发出 post 请求,并且在控制器中有这样的内容:
public function update(Request $request, User $user)
{
$user->fill($request->all());
$user->save();
return response()->json([
'success' => 'ok',
'msg' => 'User modified',
], 200);
}
我可以一整天,但如果您尝试查找并遵循许多 laravel 向您展示代码的 CRUD 教程并逐步解释或阅读文档,那就最好了:
https://laravel.com/docs/8.x/controllers
https://codingdriver.com/laravel-8-crud-app-example-tutorial.html