laravel增删改查
创建数据库表
首先,需要在数据库中创建一张表用来存储数据,可以使用以下SQL语句创建一个名为“users”的表:
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
创建模型
接下来,在Laravel应用程序中创建一个对应的模型,该模型将充当与数据库表交互的抽象层。执行以下命令创建一个名为“User”的模型:
php artisan make:model User
创建控制器
创建一个控制器,来处理HTTP请求和管理数据。执行以下命令创建一个名为“UserController”的控制器:
php artisan make:controller UserController
编写路由
在应用程序中定义路由,以便可以在浏览器中访问和测试控制器中的方法。打开“routes/web.php”文件,添加以下路由:
Route::get('/', 'UserController@index');
Route::get('/user/{id}', 'UserController@show');
Route::get('/user/create', 'UserController@create');
Route::post('/user', 'UserController@store');
Route::get('/user/{id}/edit', 'UserController@edit');
Route::put('/user/{id}', 'UserController@update');
Route::delete('/user/{id}', 'UserController@destroy');
实现控制器方法
打开刚刚创建的UserController.php文件,在里面编写以下方法:
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('users.index', compact('users'));
}
public function show($id)
{
$user = User::find($id);
return view('users.show', compact('user'));
}
public function create()
{
return view('users.create');
}
public function store(Request $request)
{
$user = new User;
$user->name = $request->name;
$user->email = $request->email;
$user->save();
return redirect('/');
}
public function edit($id)
{
$user = User::find($id);
return view('users.edit', compact('user'));
}
public function update(Request $request, $id)
{
$user = User::find($id);
$user->name = $request->name;
$user->email = $request->email;
$user->save();
return redirect('/');
}
public function destroy($id)
{
$user = User::find($id);
$user->delete();
return redirect('/');
}
}
创建视图
最后,创建与控制器方法对应的视图文件,可以使用Blade模板引擎。例如,可以创建以下视图:
- resources/views/users/index.blade.php:用户列表页;
- resources/views/users/show.blade.php:用户详情页;
- resources/views/users/create.blade.php:创建用户表单页;
- resources/views/users/edit.blade.php:编辑用户表单页。
以上代码仅供参考,具体实现细节和样式可以根据需求自行调整。
源码获取方法:
需要完整源码的朋友,希望你能点赞+收藏+评论,然后私信我即可~
会员学习群:【一对一答疑】
如果教程中有不懂的地方,可添加学习会员小助手咨询(微信:mifankeji77)