Rumah rangka kerja php Laravel Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Nova untuk operasi CRUD?

Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Nova untuk operasi CRUD?

Jun 14, 2023 am 11:40 AM
laravel crud nova

Laravel ialah salah satu rangka kerja PHP paling popular hari ini, menyediakan fungsi yang kaya dan pengalaman pembangunan yang mudah. Laravel Nova ialah pembina antara muka pentadbir yang direka khusus untuk aplikasi Laravel, membantu anda membuat dan mengurus panel pentadbir bahagian belakang dengan lebih mudah. Dalam artikel ini, kita akan melihat cara menggunakan Laravel Nova untuk operasi CRUD.

Apakah operasi CRUD?

CRUD ialah singkatan kepada "Buat, Baca, Kemas Kini dan Padam". Empat operasi ini adalah fungsi asas mana-mana aplikasi. Melalui operasi CRUD, anda boleh melaksanakan operasi asas seperti menambah, bertanya, mengemas kini dan memadam data dalam pangkalan data. Dalam rangka kerja Laravel, kita boleh menggunakan Eloquent ORM untuk melaksanakan operasi ini dengan mudah. Walau bagaimanapun, jika anda mahukan panel pentadbir yang lebih mesra pengguna, Laravel Nova mempunyai penyelesaian yang hebat untuk anda.

Pasang Laravel Nova

Sebelum menggunakan Laravel Nova, kita perlu memasangnya terlebih dahulu. Laravel Nova ialah produk komersial dan secara rasminya menyediakan tempoh percubaan percuma selama 30 hari. Jika anda ingin mencubanya, anda boleh pergi ke https://nova.laravel.com/ untuk membuat akaun dan mendapatkan lesen percubaan.

Setelah pemasangan selesai, kami boleh menambah Nova pada aplikasi Laravel kami. Anda boleh menggunakan komposer untuk menyelesaikan proses ini, hanya pergi ke folder projek anda dalam konsol dan jalankan arahan berikut:

composer require laravel/nova
Salin selepas log masuk

Selain itu, anda juga perlu mendaftarkan pembekal perkhidmatan Nova. Dalam fail config/app.php, cari tatasusunan penyedia dan tambah kod berikut:

LaravelNovaNovaServiceProvider::class,
Salin selepas log masuk

Selepas menjalankan arahan di atas, anda perlu menjalankan arahan berikut:

php artisan nova:install
Salin selepas log masuk
Salin selepas log masuk

Perintah ini akan berikan aplikasi anda Program ini menjana fail konfigurasi Nova dan direktori sumber. Anda juga perlu menerbitkan fail CSS dan JavaScript Nova ke direktori awam/vendor/nova menggunakan arahan Nova publish:

php artisan vendor:publish --tag=nova-assets
Salin selepas log masuk

Seterusnya, anda juga perlu menyediakan pemacu dalam fail auth.php dalam sesi folder konfigurasi untuk membolehkan sistem pengesahan Nova berfungsi dengan betul:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
],
Salin selepas log masuk

Akhir sekali, anda juga perlu menjalankan arahan berikut untuk menjana laluan dan jadual pengesahan untuk Nova:

php artisan nova:install
Salin selepas log masuk
Salin selepas log masuk

Pada ketika ini , kami telah menyelesaikan kerja pemasangan dan konfigurasi Laravel Nova.

Menggunakan Laravel Nova untuk operasi CRUD

Seterusnya, kita akan melihat cara menggunakan Laravel Nova untuk operasi CRUD. Kita akan mulakan dengan contoh mudah, mari buat aplikasi blog baru menggunakan Laravel Nova, dalam aplikasi ini kita akan dapat membuat, melihat, mengemas kini dan memadam catatan blog.

1. Cipta model dan migrasi pangkalan data

Pertama, kita perlu mencipta model baharu dan migrasi pangkalan data. Kami akan menggunakan alat baris arahan Artisan Laravel untuk menyelesaikan proses ini. Dalam konsol, tukar ke folder projek anda dan taip perintah berikut:

php artisan make:model Blog -m
Salin selepas log masuk

Perintah ini akan mencipta model baharu bernama Blog dan juga menjana fail migrasi pangkalan data baharu bernama create_blogs_table.

Sekarang, kita perlu mentakrifkan skema jadual "blog" kami dalam fail pemindahan pangkalan data. Cari fail ini dalam direktori pangkalan data/migrasi dan bukanya. Anda akan melihat kod seperti ini:

public function up()
{
    Schema::create('blogs', function (Blueprint $table) {
        $table->id();
        $table->timestamps();
    });
}

public function down()
{
    Schema::dropIfExists('blogs');
}
Salin selepas log masuk

Dalam contoh ini, kami hanya menentukan medan id dan cap masa. Anda boleh melaraskan dan menambah medan lain mengikut keperluan anda. Jalankan pemindahan pangkalan data selepas selesai:

php artisan migrate
Salin selepas log masuk

2. Tentukan model sumber

Seterusnya, kita perlu mentakrifkan model sumber. Model sumber ialah jambatan antara model Laravel Nova dan Eloquent. Kami mentakrifkan model sumber untuk memberitahu Laravel Nova jadual pangkalan data yang akan dikaitkan dengannya. Untuk mencipta model sumber, taip perintah berikut:

php artisan nova:resource Blog
Salin selepas log masuk

Perintah ini akan mencipta fail baharu bernama Blog.php dalam direktori app/Nova. Sebaik sahaja anda membuka fail ini, anda akan melihat kod berikut:

<?php

namespace AppNova;

use IlluminateHttpRequest;
use LaravelNovaFieldsID;
use LaravelNovaFieldsText;
use LaravelNovaFieldsNumber;
use LaravelNovaHttpRequestsNovaRequest;

class Blog extends Resource
{
    /**
     * The model the resource corresponds to.
     *
     * @var string
     */
    public static $model = '';

    /**
     * The single value that should be used to represent the resource when being displayed.
     *
     * @var string
     */
    public static $title = 'id';

    /**
     * The columns that should be searched.
     *
     * @var array
     */
    public static $search = [];

    /**
     * Get the fields displayed by the resource.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),

            Text::make('Title')->sortable(),

            Number::make('Views')->sortable(),

            Text::make('Content')->hideFromIndex(),
        ];
    }

    /**
     * Get the cards available for the request.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function cards(Request $request)
    {
        return [];
    }

    /**
     * Get the filters available for the resource.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function filters(Request $request)
    {
        return [];
    }

    /**
     * Get the lenses available for the resource.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function lenses(Request $request)
    {
        return [];
    }

    /**
     * Get the actions available for the resource.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function actions(Request $request)
    {
        return [];
    }
}
Salin selepas log masuk

Dalam fail ini, kami mentakrifkan model sumber baharu yang dipanggil Blog. Sekarang kita perlu mengaitkan model ini dengan model Laravel. Anda hanya perlu membuka fail model dan tambahkan kod berikut pada bahagian atas:

namespace App;

use IlluminateDatabaseEloquentModel;

class Blog extends Model
{
    //
}
Salin selepas log masuk

3. Sambungkan sumber kepada nova

Sekarang, kita perlu menyambungkan sumber Blog ke Laravel Nova. Untuk melakukan ini, anda boleh membuka fail app/Nova/NovaServiceProvider.php dan tambahkan yang berikut pada kaedah butnya:

use AppNovaBlog;

// ...

public function boot()
{
    // ...

    Nova::resources([
        Blog::class,
    ]);
}
Salin selepas log masuk

Kini setelah kami berjaya mengkonfigurasi Laravel Nova, kami boleh memasukkan aplikasi dan melihat apa itu suka.

4. Lakukan operasi CRUD

Kini, kami telah berjaya menyediakan Laravel Nova dan menghubungkan sumber Blog kami dengannya. Kami boleh mengakses panel pentadbir dan mula melakukan operasi CRUD.

Jalankan arahan berikut dalam konsol untuk memulakan pelayan pembangunan setempat:

php artisan serve
Salin selepas log masuk

Kemudian, buka url http://localhost:8000/nova dan anda akan melihat halaman log masuk. Log masuk menggunakan akaun sedia ada dalam aplikasi Laravel anda.

Kini anda boleh klik pada menu lungsur "Sumber" pada menu atas dan pilih Blog. Di sini anda akan melihat senarai blog kosong.

Kami boleh mencipta, membaca, mengemas kini dan memadam catatan blog menggunakan Laravel Nova. Anda boleh mengklik butang "Blog Baru" di sudut kanan atas halaman dan masukkan data. Setiap kali catatan blog baharu ditambahkan, senarai akan dikemas kini secara automatik untuk menunjukkan data terkini.

Anda boleh memasukkan mod paparan dan edit dengan mengklik pada nama catatan blog untuk melakukan tindakan lain, seperti mengemas kini atau memadamkan catatan blog. Selain itu, anda boleh menggunakan ciri Penapis untuk mencari catatan blog tertentu dengan cepat dan ciri Carian untuk mencari kata kunci merentas semua catatan blog.

Ringkasan

Dengan menggunakan Laravel Nova, kami boleh membuat dan mengurus panel pentadbir bahagian belakang aplikasi Laravel dengan mudah. Dalam tutorial ini, kami belajar cara membina aplikasi CRUD mudah menggunakan Laravel Nova. Anda boleh menggunakan kaedah yang serupa dalam projek sebenar dan menguasai ciri Laravel Nova yang lebih maju untuk melaksanakan aplikasi yang lebih kompleks.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Nova untuk operasi CRUD?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbandingan versi terkini Laravel dan CodeIgniter Perbandingan versi terkini Laravel dan CodeIgniter Jun 05, 2024 pm 05:29 PM

Versi terkini Laravel 9 dan CodeIgniter 4 menyediakan ciri dan penambahbaikan yang dikemas kini. Laravel9 menggunakan seni bina MVC dan menyediakan fungsi seperti migrasi pangkalan data, pengesahan dan enjin templat. CodeIgniter4 menggunakan seni bina HMVC untuk menyediakan penghalaan, ORM dan caching. Dari segi prestasi, corak reka bentuk berasaskan pembekal perkhidmatan Laravel9 dan rangka kerja ringan CodeIgniter4 memberikannya prestasi cemerlang. Dalam aplikasi praktikal, Laravel9 sesuai untuk projek kompleks yang memerlukan fleksibiliti dan fungsi berkuasa, manakala CodeIgniter4 sesuai untuk pembangunan pesat dan aplikasi kecil.

Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Jun 01, 2024 pm 01:34 PM

Bandingkan keupayaan pemprosesan data Laravel dan CodeIgniter: ORM: Laravel menggunakan EloquentORM, yang menyediakan pemetaan hubungan kelas-objek, manakala CodeIgniter menggunakan ActiveRecord untuk mewakili model pangkalan data sebagai subkelas kelas PHP. Pembina pertanyaan: Laravel mempunyai API pertanyaan berantai yang fleksibel, manakala pembina pertanyaan CodeIgniter lebih ringkas dan berasaskan tatasusunan. Pengesahan data: Laravel menyediakan kelas Pengesah yang menyokong peraturan pengesahan tersuai, manakala CodeIgniter mempunyai kurang fungsi pengesahan terbina dalam dan memerlukan pengekodan manual peraturan tersuai. Kes praktikal: Contoh pendaftaran pengguna menunjukkan Lar

Mana satu yang lebih mesra pemula, Laravel atau CodeIgniter? Mana satu yang lebih mesra pemula, Laravel atau CodeIgniter? Jun 05, 2024 pm 07:50 PM

Untuk pemula, CodeIgniter mempunyai keluk pembelajaran yang lebih lembut dan ciri yang lebih sedikit, tetapi meliputi keperluan asas. Laravel menawarkan set ciri yang lebih luas tetapi mempunyai keluk pembelajaran yang lebih curam. Dari segi prestasi, kedua-dua Laravel dan CodeIgniter berprestasi baik. Laravel mempunyai dokumentasi yang lebih luas dan sokongan komuniti yang aktif, manakala CodeIgniter lebih ringkas, ringan dan mempunyai ciri keselamatan yang kukuh. Dalam kes praktikal membina aplikasi blog, EloquentORM Laravel memudahkan manipulasi data, manakala CodeIgniter memerlukan lebih banyak konfigurasi manual.

Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Jun 04, 2024 am 09:09 AM

Apabila memilih rangka kerja untuk projek besar, Laravel dan CodeIgniter masing-masing mempunyai kelebihan mereka sendiri. Laravel direka untuk aplikasi peringkat perusahaan, menawarkan reka bentuk modular, suntikan pergantungan dan set ciri yang berkuasa. CodeIgniter ialah rangka kerja ringan yang lebih sesuai untuk projek kecil hingga sederhana, menekankan kelajuan dan kemudahan penggunaan. Untuk projek besar dengan keperluan yang kompleks dan bilangan pengguna yang ramai, kuasa dan kebolehskalaan Laravel adalah lebih sesuai. Untuk projek atau situasi mudah dengan sumber terhad, keupayaan pembangunan CodeIgniter yang ringan dan pantas adalah lebih ideal.

Laravel - Perintah Artisan Laravel - Perintah Artisan Aug 27, 2024 am 10:51 AM

Laravel - Perintah Artisan - Laravel 5.7 hadir dengan cara baharu untuk merawat dan menguji arahan baharu. Ia termasuk ciri baharu untuk menguji arahan artisan dan demonstrasi disebut di bawah?

Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek kecil? Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek kecil? Jun 04, 2024 pm 05:29 PM

Untuk projek kecil, Laravel sesuai untuk projek yang lebih besar yang memerlukan fungsi dan keselamatan yang kukuh. CodeIgniter sesuai untuk projek yang sangat kecil yang memerlukan ringan dan mudah digunakan.

Pada 5 Ogos, Huawei akan mengadakan malam pelajar baru nova Flip, dan Yi Yang Qianxi akan mendedahkan rahsia langkah baharu yang menarik itu. Pada 5 Ogos, Huawei akan mengadakan malam pelajar baru nova Flip, dan Yi Yang Qianxi akan mendedahkan rahsia langkah baharu yang menarik itu. Jul 30, 2024 pm 02:08 PM

Pada 29 Julai, diskaun kecil pertama Huawei nova yang ditunggu-tunggu, Huawei nova Flip, telah diumumkan secara rasmi. Baru-baru ini, Weibo rasmi Huawei Terminal mengeluarkan treler produk baharu jurucakap global HUAWEInova Yi Yang Qianxi, yang mendedahkan penamaan, reka bentuk penampilan, padanan warna utama dan tiga titik jualan teras Huawei novaFlip buat kali pertama. 1. Dalam video itu, Yi Yang Qianxi muncul memegang Huawei novaFlip dan menetapkan suspens penamaan produk melalui kod Morse. Video prapemanasan memfokuskan pada menunjukkan nada sejuk dan bergaya produk baharu Telefon bimbit skrin lipat kecil ini pastinya akan menjadi barang yang mesti dimiliki untuk pakaian bergaya, menerajui trend yang diikuti oleh golongan muda. 1. Berdasarkan video dan poster promosi prapemanasan rasmi Huawei, Huawei novaFlip meneruskan nov

Manakah enjin templat yang lebih baik, Laravel atau CodeIgniter? Manakah enjin templat yang lebih baik, Laravel atau CodeIgniter? Jun 03, 2024 am 11:30 AM

Membandingkan enjin templat Laravel's Blade dan CodeIgniter's Twig, pilih berdasarkan keperluan projek dan keutamaan peribadi: Blade adalah berdasarkan sintaks MVC, yang menggalakkan organisasi kod dan warisan templat yang baik. Twig ialah perpustakaan pihak ketiga yang menyediakan sintaks fleksibel, penapis berkuasa, sokongan lanjutan dan kotak pasir keselamatan.

See all articles