Rumah > Artikel > rangka kerja php > jadual laravel tambah, padam, ubah suai
Laravel ialah rangka kerja PHP popular yang menyediakan alatan dan ciri yang mudah untuk membantu pembangun membina aplikasi web dengan cepat. Salah satu fungsi asas ialah menggunakan jadual untuk menambah, memadam, mengubah suai dan pertanyaan data Artikel ini akan memperkenalkan cara melaksanakan fungsi ini dalam Laravel.
Pertama, kita perlu mencipta pangkalan data dan jadual data untuk menyimpan data. Dalam artikel ini, kami akan membuat jadual yang dipanggil "pengguna" yang mengandungi medan berikut: id, nama, e-mel dan kata laluan.
Kami boleh mencipta jadual menggunakan migrasi dalam Laravel. Jalankan arahan berikut daripada baris arahan:
php artisan make:migration create_users_table --create=users
Selepas menjalankan arahan ini, Laravel akan mencipta fail migrasi baharu dalam direktori "pangkalan data/penghijrahan". Kita boleh menggunakan kelas "Skema" dalam fail migrasi untuk menentukan struktur jadual. Kodnya adalah seperti berikut:
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'); } }
Kod di atas mencipta jadual bernama "pengguna", yang mengandungi medan id, nama, e-mel, kata laluan dan cap masa.
Apabila kami menjalankan migrasi, Laravel akan mencipta jadual dalam pangkalan data. Jalankan arahan berikut untuk berhijrah:
php artisan migrate
Untuk menambah rekod pada jadual, kita perlu mencipta pengawal dan menggunakan model untuk menyimpan data ke pangkalan data. Jalankan arahan berikut dalam baris arahan:
php artisan make:controller UserController
Perintah ini akan mencipta pengawal "UserController" baharu dalam direktori "app/Http/Controllers".
Dalam fail pengawal, kita boleh menggunakan kaedah "buat" untuk menyimpan rekod baharu. Berikut ialah contoh kod:
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, ]); } }
Dalam kod di atas, kami mula-mula mengimport model "Pengguna" dan kemudian menggunakan kaedah "buat" dalam kaedah "stor" untuk mencipta rekod baharu. Kami menggunakan medan "nama", "e-mel" dan "kata laluan" daripada permintaan sebagai parameter dan menyulitkan kata laluan menggunakan fungsi "bcrypt". Akhir sekali, kami mengembalikan respons JSON yang mengandungi rekod pengguna yang dibuat.
Kita boleh menggunakan pengawal untuk mendapatkan semua rekod dalam jadual dan mengembalikannya kepada pengguna. Tambahkan kod berikut dalam pengawal:
public function index() { $users = User::all(); return view('users.index', ['users' => $users]); }
Kod di atas mendapat semua rekod dalam jadual pengguna dengan menggunakan kaedah "semua" dan menghantar keputusan ke paparan. Kita boleh menggunakan data ini dalam paparan untuk memaparkan jadual HTML.
Sama seperti semasa mencipta rekod, kita boleh menggunakan model dan pengawal untuk mengemas kini rekod. Berikut ialah contoh kaedah "kemas kini":
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, ]); }
Dalam kod di atas, kami mula-mula menggunakan kaedah "cari" untuk mendapatkan rekod pengguna bagi ID yang ditentukan. Kami kemudian menggunakan medan "nama" dan "e-mel" daripada permintaan sebagai nilai atribut untuk mengemas kini rekod. Jika permintaan mengandungi medan "kata laluan", ia disulitkan menggunakan fungsi "bcrypt" dan rekod pengguna dikemas kini. Akhir sekali, kami menyimpan rekod menggunakan kaedah "simpan" dan mengembalikan rekod pengguna yang dikemas kini sebagai respons JSON.
Kami boleh menggunakan pengawal dan model untuk memadamkan rekod pengguna. Berikut ialah contoh kaedah "musnahkan":
public function destroy($id) { $user = User::find($id); $user->delete(); return response()->json([ 'message' => 'User deleted successfully', ]); }
Dalam kod di atas, kami mula-mula menggunakan kaedah "cari" untuk mendapatkan rekod pengguna bagi ID yang ditentukan. Kami kemudiannya boleh melakukan operasi lain pada rekod sebelum memadamkannya menggunakan kaedah "padam". Akhir sekali, kami mengembalikan respons JSON yang mengandungi maklumat tentang pengguna yang dipadamkan.
Untuk kes penyenaraian semua rekod pengguna, kami boleh menggunakan paparan untuk memaparkan jadual HTML. Berikut ialah contoh kod paparan:
<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>
Dalam kod di atas, kami menggunakan arahan "@foreach" untuk mengulangi semua rekod pengguna dan memaparkan ID, nama dan e-mel mereka dalam jadual HTML. Selain itu, kami menambah dua lajur tindakan: Edit dan Padam. Untuk pemadaman, kami menggunakan borang untuk menyerahkan permintaan DELETE dan menambah token CSRF menggunakan arahan "csrf_field". Untuk menyunting, kami mentakrifkan pandangan dan pengawal berasingan dalam laluan.
Dalam artikel ini, kami memperkenalkan cara menggunakan model dan pengawal dalam Laravel untuk melaksanakan operasi tambah, padam, ubah suai dan pertanyaan jadual asas. Walaupun mungkin terdapat lebih banyak fungsi dan butiran yang terlibat dalam projek sebenar, artikel ini menyediakan titik permulaan untuk membantu anda mula menggunakan Laravel untuk mengendalikan operasi jadual untuk aplikasi web anda.
Atas ialah kandungan terperinci jadual laravel tambah, padam, ubah suai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!