Rumah rangka kerja php Laravel carian laravel padam

carian laravel padam

May 21, 2023 am 10:10 AM

Carian dan padam Laravel ialah keperluan pembangunan yang sangat biasa, terutamanya apabila membangunkan aplikasi seperti sistem pengurusan kandungan atau tapak web e-dagang yang memerlukan operasi CRUD pada data. Laravel, sebagai rangka kerja PHP yang popular, menyediakan pelbagai alatan dan API, menjadikan proses ini sangat mudah.

1. Carian Laravel

Melaksanakan fungsi carian dalam Laravel biasanya memerlukan langkah berikut:

  1. Pasang Laravel Scout

Laravel Scout Sesuai untuk aplikasi yang mengklasifikasikan dan mengoptimumkan hasil carian, Scout lebih pantas daripada pertanyaan carian asli dan komponen pertanyaan lebih mudah untuk dibina semula. Laravel Scout menggunakan Elasticsearch atau Algolia untuk melakukan carian, enjin carian ini sangat popular dan mempunyai sokongan komuniti yang meluas.

  1. Penghijrahan pangkalan data

Berdasarkan penubuhan fail migrasi Model, Pengawal dan pangkalan data dalam aplikasi Laravel, kami perlu melaksanakan operasi migrasi pangkalan data berkaitan carian.

Sebagai contoh, dalam pangkalan data pengguna kita boleh menambah lajur "boleh dicari":

Schema::table('users', function (Blueprint $table) {
    $table->boolean('searchable')->default(false);
});
Salin selepas log masuk

Di sini kita boleh menetapkan nilai lalai palsu untuk dicari, iaitu, pengguna tidak mahu menjadi dicari. Ia juga boleh dikonfigurasikan untuk menetapkan boleh dicari kepada benar selepas mengedit maklumat pengguna, supaya pengguna boleh dicari.

  1. Gunakan Scout untuk menandakan model

Apabila menggunakan Laravel Scout, kita perlu menggunakan sifat Boleh Cari dalam Model yang sepadan.

Contohnya:

Apl namespace;

gunakan IlluminateDatabaseEloquentModel;
gunakan LaravelScoutSearchable;

class User extends Model
{

use Searchable;

// ...
Salin selepas log masuk

}

Selepas proses ini selesai, kaedah save(), delete(), restore() dan forceDelete() model akan disegerakkan secara automatik dengan enjin carian.

  1. Gunakan Algolia atau ElasticSearch

Buat indeks dan format hasil carian dalam Algolia atau ElasticSearch. Untuk mengoptimumkan hasil carian, kita boleh menggunakan sifat Boleh Dicari Pengakap dalam Laravel.

Contohnya, dalam Algolia:

Apl ruang nama;

gunakan LaravelScoutSearchable;
gunakan AlgoliaScoutExtendedSearchableAggregator;

<🎜<>Nota kelas memanjangkan Model>🎜

use Searchable, Aggregator;

public function toSearchableArray()
{
    $array = $this->toArray();

    // 请求注入时,我们需要更新查询升级和向量分配
    $array = $this->seoInject Boosts($array, [
        'title' => 1000, 
        'content' => 100,
        'body' => 10,
    ]);

    return $array;
}
Salin selepas log masuk

}

2. Cari dan padam Laravel

Dalam aplikasi CRUD Laravel, operasi pemadaman adalah sangat biasa. Pengalihan keluar daripada hasil carian adalah tugas yang agak rumit kerana anda perlu mengeluarkan data yang dipadam secara automatik daripada enjin carian. Ini bermakna kita perlu mengendalikan pangkalan data.

Berikut ialah proses umum untuk mencari dan memadam data:

1. Pilih data yang hendak dipadamkan dalam hasil carian.

2. Tandakan data ini sebagai "Padam", kemas kini pangkalan data dan padamkan data ini daripada enjin carian.

namespace AppHttpControllers;

gunakan AppNote;

gunakan IlluminateHttpRequest;


class NoteController extends Controller

>
/**
 * 删除一条笔记修饰符信息请求
 *
 * @param int $id
 * @return IlluminateHttpResponse
 */
public function destroy($id)
{
    $note = Note::find($id);

    if ($note) {
        // 从数据库中删除
        $note->delete();

        // 从搜索引擎中删除
        $note->unsearchable();
    }

    return redirect()
        ->route('notes.index')
        ->with('success', 'Note deleted successfully.');
}
Salin selepas log masuk

}

Dalam contoh di atas, kami memadamkan nota daripada pangkalan data dan memadamkannya daripada enjin carian. Seterusnya, kami akan membincangkan cara melaksanakan pemadaman pukal dalam hasil carian.

3. Laksanakan operasi pemadaman kelompok

Sebelum memadamkan berbilang hasil, kita perlu membangunkan kotak berbilang pilih dan butang padam pada bahagian hadapan. Kemudian, kita perlu melaksanakan operasi memadam kelompok dalam pengawal. Bahagian kod ini termasuk:

Dapatkan semua nota untuk dipadamkan.

    Tandai nota ini sebagai "Padam" dalam pangkalan data.
  1. Alih keluar nota ini daripada enjin carian.
  2. Ubah hala ke laluan asal.
  3. Sebagai contoh, dalam fail NoteController.php, laksanakan operasi pemadaman kelompok:
  4. /**
     * 删除多条笔记发生请求
     *
     * @param Request $request
     * @return IlluminateHttpResponse
     */
    public function multiDestroy(Request $request)
    {
        $notesId = $request->ids;
    
        foreach ($notesId as $noteId) {
            $note = Note::find($noteId);
            if ($note) {
                $note->delete();
                $note->unsearchable();
            }
        }
    
        return redirect()
            ->route('notes.index')
            ->with('success', 'Notes were deleted successfully.');
    }
    
    Salin selepas log masuk
    Dalam kod di atas, kami mengulangi semua objek nota yang akan dipadamkan dan memadamnya dalam pangkalan data dan Mereka ditandakan untuk pemadaman dalam enjin carian. Proses ini sangat serupa dengan pemadaman tunggal.

    4. Ringkasan

    Artikel ini memperkenalkan cara melaksanakan carian dan pemadaman dalam aplikasi Laravel, meliputi penggunaan asas rangka kerja Laravel dan modul Pengakap serta kaedah pemprosesan pengawal. Anda boleh menggunakan contoh ini untuk melaksanakan fungsi yang sama dalam aplikasi Laravel anda sendiri, menjadikan pembangunan anda lebih mudah.

    Atas ialah kandungan terperinci carian laravel padam. 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Mana yang lebih baik, Django atau Laravel? Mana yang lebih baik, Django atau Laravel? Mar 28, 2025 am 10:41 AM

Kedua-dua Django dan Laravel adalah kerangka kerja penuh. Django sesuai untuk pemaju python dan logik perniagaan yang kompleks, manakala Laravel sesuai untuk pemaju PHP dan sintaks elegan. 1.Django didasarkan pada python dan mengikuti falsafah "lengkap bateri", sesuai untuk perkembangan pesat dan kesesuaian yang tinggi. 2. Laravel didasarkan pada PHP, menekankan pengalaman pemaju, dan sesuai untuk projek kecil dan sederhana.

Laravel dan backend: Powering Web Application Logic Laravel dan backend: Powering Web Application Logic Apr 11, 2025 am 11:29 AM

Bagaimanakah Laravel memainkan peranan dalam logik backend? Ia memudahkan dan meningkatkan pembangunan backend melalui sistem penghalaan, eloquentorm, pengesahan dan kebenaran, acara dan pendengar, dan pengoptimuman prestasi. 1. Sistem penghalaan membolehkan definisi struktur URL dan logik pemprosesan permintaan. 2.eloquentorm memudahkan interaksi pangkalan data. 3. Sistem pengesahan dan kebenaran adalah mudah untuk pengurusan pengguna. 4. Acara dan pendengar melaksanakan struktur kod yang ditambah dengan longgar. 5. Pengoptimuman prestasi meningkatkan kecekapan aplikasi melalui caching dan beratur.

PHP atau Laravel mana yang lebih baik? PHP atau Laravel mana yang lebih baik? Mar 27, 2025 pm 05:31 PM

PHP dan Laravel tidak dapat dibandingkan secara langsung, kerana Laravel adalah rangka kerja berasaskan PHP. 1.Php sesuai untuk projek kecil atau prototaip cepat kerana ia mudah dan langsung. 2. Laravel sesuai untuk projek besar atau pembangunan yang cekap kerana ia menyediakan fungsi dan alat yang kaya, tetapi mempunyai lengkung pembelajaran yang curam dan mungkin tidak sebaik php tulen.

Adakah Laravel adalah frontend atau backend? Adakah Laravel adalah frontend atau backend? Mar 27, 2025 pm 05:31 PM

LaravelisabackendFramWorkBuiltonPHP, Direka ForweBapplicationDevelopment.itfocusesonServer-Sidelogic, DatabaseManagement, andApplications Structure, andCanbeIntegratedWithFrontendTechnologiesLikeVue.jsorreactorfull-stackdevelopment.

Contoh Pengenalan Laravel Contoh Pengenalan Laravel Apr 18, 2025 pm 12:45 PM

Laravel adalah rangka kerja PHP untuk membina aplikasi web yang mudah. Ia menyediakan pelbagai ciri yang kuat termasuk: Pemasangan: Pasang Laravel CLI secara global dengan komposer dan buat aplikasi dalam direktori projek. Routing: Tentukan hubungan antara URL dan pengendali dalam laluan/web.php. Lihat: Buat pandangan dalam sumber/pandangan untuk menjadikan antara muka aplikasi. Integrasi Pangkalan Data: Menyediakan integrasi keluar-of-the-box dengan pangkalan data seperti MySQL dan menggunakan penghijrahan untuk membuat dan mengubah suai jadual. Model dan Pengawal: Model mewakili entiti pangkalan data dan proses pengawal permintaan HTTP.

Cara Belajar Laravel Cara Belajar Laravel secara percuma Cara Belajar Laravel Cara Belajar Laravel secara percuma Apr 18, 2025 pm 12:51 PM

Mahu mempelajari rangka kerja Laravel, tetapi tidak mengalami sumber atau tekanan ekonomi? Artikel ini memberikan anda pembelajaran percuma Laravel, mengajar anda cara menggunakan sumber seperti platform dalam talian, dokumen dan forum komuniti untuk meletakkan asas yang kukuh untuk perjalanan pembangunan PHP anda dari mula menguasai.

Fleksibiliti Laravel: Dari laman web mudah ke sistem yang kompleks Fleksibiliti Laravel: Dari laman web mudah ke sistem yang kompleks Apr 13, 2025 am 12:13 AM

Projek Pembangunan Laravel telah dipilih kerana fleksibiliti dan kuasa untuk memenuhi keperluan saiz dan kerumitan yang berbeza. Laravel menyediakan sistem penghalaan, eloquentorm, baris perintah artisan dan fungsi lain, menyokong pembangunan dari blog mudah ke sistem peringkat perusahaan yang kompleks.

Fungsi log masuk pengguna laravel Fungsi log masuk pengguna laravel Apr 18, 2025 pm 12:48 PM

Laravel menyediakan rangka kerja auth yang komprehensif untuk melaksanakan fungsi log masuk pengguna, termasuk: Menentukan model pengguna (model fasih), membuat borang log masuk (enjin templat bilah), menulis pengawal log masuk (mewarisi auth \ logincontroller) tajuk keselamatan. Di samping itu, rangka kerja AUTH juga menyediakan fungsi seperti menetapkan semula kata laluan, mendaftar dan mengesahkan e -mel. Untuk maklumat lanjut, sila rujuk dokumentasi Laravel: https://laravel.com/doc

See all articles