创建数据库和表格首先,我们需要创建一个数据库和一个数据表来存储数据。在本文中,我们将创建一个名为“users”的表格,它包含以下字段: id、name、email 和 password。
我们可以使用 laravel 中的迁移来创建表格。在命令行中运行以下命令:
php artisan make:migration create_users_table --create=users
运行该命令后,laravel 将在“database/migrations”目录中创建一个新的迁移文件。我们可以在迁移文件中使用“schema”类来定义表格结构。其代码如下:
use illuminatedatabasemigrationsmigration;use illuminatedatabaseschemablueprint;use illuminatesupportfacadesschema;class createuserstable extends migration{ /** * run the migrations. * * @return void */ public function up() { schema::create('users', function (blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('password'); $table->timestamps(); }); } /** * reverse the migrations. * * @return void */ public function down() { schema::dropifexists('users'); }}
以上代码创建了一个名为“users”的表格,其中包含 id、name、email、password 和 timestamps 字段。
当我们运行迁移时,laravel 将在数据库中创建表格。运行以下命令进行迁移:
php artisan migrate
增加记录要向表格中添加记录,我们需要创建一个控制器并使用模型来将数据保存到数据库中。在命令行中运行以下命令:
php artisan make:controller usercontroller
该命令将在“app/http/controllers”目录中创建一个新的“usercontroller”控制器。
在控制器文件中,我们可以使用“create”方法来保存新记录。以下是示例代码:
use appuser;use illuminatehttprequest;class usercontroller extends controller{ public function store(request $request) { $user = user::create([ 'name' => $request->input('name'), 'email' => $request->input('email'), 'password' => bcrypt($request->input('password')), ]); return response()->json([ 'message' => 'user created successfully', 'user' => $user, ]); }}
在以上代码中,我们首先导入“user”模型,然后在“store”方法中使用“create”方法来创建新记录。我们将请求中的“name”、“email”和“password”字段用作参数,并使用“bcrypt”函数将密码加密。最后,我们返回一个 json 响应,其中包含创建的用户记录。
列出记录我们可以使用控制器来获取表格中的所有记录并将其返回给用户。在控制器中添加以下代码:
public function index(){ $users = user::all(); return view('users.index', ['users' => $users]);}
以上代码通过使用“all”方法获取用户表格中的所有记录,并将结果传递给视图。我们可以在视图中使用这些数据来渲染 html 表格。
更新记录与创建记录时类似,我们可以使用模型和控制器来更新记录。以下是一个示例“update”方法:
public function update(request $request, $id){ $user = user::find($id); $user->name = $request->input('name'); $user->email = $request->input('email'); if ($request->input('password')) { $user->password = bcrypt($request->input('password')); } $user->save(); return response()->json([ 'message' => 'user updated successfully', 'user' => $user, ]);}
在以上代码中,我们首先使用“find”方法获取指定 id 的用户记录。然后,我们将请求中的“name”和“email”字段用作属性值来更新记录。如果请求包含“password”字段,则使用“bcrypt”函数将其加密并更新用户记录。最后,我们使用“save”方法保存记录,并返回更新后的用户记录作为 json 响应。
删除记录我们可以使用控制器和模型来删除用户记录。以下是一个示例的“destroy”方法:
public function destroy($id){ $user = user::find($id); $user->delete(); return response()->json([ 'message' => 'user deleted successfully', ]);}
在以上代码中,我们首先使用“find”方法获取指定 id 的用户记录。然后,在使用“delete”方法删除记录之前,我们可以对该记录执行其他操作。最后,我们返回一个 json 响应,其中包含有关已删除用户的信息。
表格视图对于列出所有用户记录的情况,我们可以使用视图来渲染 html 表格。以下是一个示例视图代码:
<table> <thead> <tr> <th>id</th> <th>name</th> <th>email</th> <th>action</th> </tr> </thead> <tbody> @foreach ($users as $user) <tr> <td>{{ $user->id }}</td> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> <td> <a href="{{ route('users.edit', $user->id) }}">edit</a> <form action="{{ route('users.destroy', $user->id) }}" method="post"> {{ csrf_field() }} {{ method_field('delete') }} <button type="submit">delete</button> </form> </td> </tr> @endforeach </tbody></table>
在以上代码中,我们使用“@foreach”指令来循环遍历所有用户记录,并在 html 表格中显示它们的 id、名称和电子邮件。此外,我们添加了两个操作列:编辑和删除。对于删除,我们使用一个表单来提交 delete 请求,并使用“csrf_field”指令添加 csrf 令牌。对于编辑,我们在路由中定义单独的视图和控制器。
结论在本文中,我们介绍了如何使用 laravel 中的模型和控制器来执行基本的表格增删改查操作。虽然在实际项目中可能涉及更多的功能和细节,但本文提供了一个起点来帮助您开始使用 laravel 来处理 web 应用程序的表格操作。
以上就是laravel表格增删改查的详细内容。
