Buat Model dan Migrasi: Gunakan PHP Artisan Make: Model Post -M untuk menghasilkan model dan fail penghijrahan, menentukan struktur meja dan menjalankan php artisan bermigrasi; 2. Operasi CRUD Asas: Gunakan pos :: semua (), cari (), buat (), simpan () dan padam () kaedah untuk menanyakan, membuat, mengemas kini dan memadam data; 3. Gunakan persatuan yang fasih: Tentukan hubungan dan hubungan hasmany dalam model, dan gunakan kaedah dengan () untuk memperlihatkan data yang berkaitan untuk mengelakkan masalah pertanyaan n 1; 4. Permintaan yang fasih: Gunakan Pembina Pertanyaan kepada Panggilan Rantaian seperti WHERE, Orderby dan kaedah lain, dan menggunakan semula logik pertanyaan melalui scopePepublished tempatan; 5. Perlindungan tugasan batch: Tetapkan $ diisi atau $ dijaga dalam atribut model untuk mencegah tugasan yang tidak dijangka; 6. Penghapusan lembut: Memperkenalkan sifat softdeletes dan tambah softdeletes () ke penghijrahan, gunakan padam () dan pulihkan () untuk mengawal penghapusan dan pemulihan lembut; 7. Aksesori dan pengubahsuaian: Memroses format data secara automatik apabila menetapkan atau mendapatkan atribut melalui settitleattribute dan gettitleattribute. Fasih berinteraksi dengan pangkalan data melalui model, supaya pemaju dapat mengendalikan data dengan cekap tanpa menulis SQL asli. Adalah disyorkan bahawa setiap jadual sesuai dengan model, secara munasabah menentukan hubungan persatuan dan memanfaatkan sepenuhnya fungsi yang disediakan oleh Eloquent untuk menyelesaikan operasi data, dan akhirnya mencapai struktur kod yang jelas dan dapat dipelihara.
Eloquent adalah Orm terbina dalam Laravel (Mapper Objek-Relational) yang menjadikannya mudah untuk berinteraksi dengan pangkalan data anda menggunakan sintaks PHP dan bukannya menulis SQL mentah. Ia kuat, ekspresif, dan mesra pemula apabila anda memahami asas-asasnya. Berikut adalah cara menggunakan fasih dengan berkesan di Laravel.

1. Membuat model dan migrasi
Setiap jadual pangkalan data mempunyai model fasih yang sepadan. Untuk membuat model bersama dengan penghijrahan, jalankan:
PHP Artisan Make: Model Post -m
Ini mencipta:

-
app/Models/Post.php
(Model) -
database/migrations/xxxx_xx_xx_create_posts_table.php
(penghijrahan)
Dalam fail penghijrahan, tentukan struktur meja anda:
Skema :: Create ('Posts', Function (Blueprint $ Table) { $ Table-> id (); $ Table-> String ('Tajuk'); $ Table-> Text ('Content'); $ Table-> foreignID ('user_id')-> dikekang (); $ Table-> Timestamps (); });
Jalankan penghijrahan:

PHP Artisan berhijrah
Sekarang anda boleh menggunakan model Post
untuk berinteraksi dengan jadual posts
.
Nota: Jika model anda berada dalam folder seperti
Models
, pastikan untuk merujuknya dengan betul atau kemas kini ruang nama lalai dalamconfig/auth.php
jika diperlukan.
2. Operasi CRUD asas
Sebaik sahaja model anda disediakan, anda boleh melakukan operasi asas.
Ambil semua rekod
$ posts = post :: all ();
Cari rekod dengan ID
$ pos = pos :: cari (1); // atau buang pengecualian jika tidak dijumpai $ pos = pos :: findOrfail (1);
Buat rekod baru
Pos :: Buat ([[ 'tajuk' => 'jawatan pertama saya', 'Kandungan' => 'Hello World', 'user_id' => 1, ]);
Atau secara manual:
$ post = post baru (); $ post-> title = 'Post lain'; $ post-> content = 'more content'; $ post-> user_id = 1; $ post-> save ();
Kemas kini rekod
$ pos = pos :: cari (1); $ post-> title = 'Tajuk Dikemaskini'; $ post-> save ();
Atau menggunakan kemas kini massa:
Pos :: di mana ('id', 1)-> kemas kini (['tajuk' => 'dikemas kini']);
Padam rekod
$ pos = pos :: cari (1); $ post-> padam (); // atau padam secara langsung POST :: DEST (1);
3. Menggunakan hubungan yang fasih
Fasih menjadikan hubungan antara model mudah.
Tentukan hubungan (contohnya, jawatan milik pengguna)
Dalam model Post
:
Pengguna Fungsi Awam () { kembali $ this-> dimiliki (pengguna :: kelas); }
Dalam model User
:
Catatan Fungsi Awam () { kembali $ this-> hasmany (post :: class); }
Sekarang anda boleh mengakses data yang berkaitan:
$ pos = pos :: dengan ('pengguna')-> cari (1); echo $ post-> user-> name; // mengakses pengarang $ user = user :: cari (1); foreach ($ user-> posts as $ post) { echo $ post-> tajuk; }
Gunakan
with()
untuk hubungan beban yang bersemangat dan elakkan masalah pertanyaan n 1.
4. Bertanya dengan fasih
Model fasih memperluaskan pembina pertanyaan, jadi anda boleh mengikat kaedah:
$ PublishedPosts = Post :: Where ('Status', 'Diterbitkan') -> di mana ('create_at', '>', sekarang ()-> subdays (7)) -> orderby ('create_at', 'desc') -> mendapatkan ();
Skop (pertanyaan yang boleh diguna semula)
Tentukan skop tempatan dalam model anda:
Fungsi awam diterbitkan ($ pertanyaan) { kembali $ query-> where ('status', 'diterbitkan'); }
Gunakannya:
$ siaran = pos :: diterbitkan ()-> get ();
5. Perlindungan Tugasan Massa
Untuk menggunakan create()
atau update()
dengan selamat, tentukan medan yang boleh dipenuhi atau dijaga.
Dalam model anda:
dilindungi $ fillable = ['tajuk', 'kandungan', 'user_id'];
Atau, sebagai alternatif:
dilindungi $ dijaga = []; // membenarkan semua, tetapi kurang selamat
6. Padam lembut (pilihan)
Untuk "memadam" rekod tanpa mengeluarkannya dari pangkalan data:
- Tambah
use Illuminate\Database\Eloquent\SoftDeletes;
ke model anda. - Tambah
$table->softDeletes();
dalam penghijrahan anda. - Kemudian gunakan
->delete()
-ia menetapkandeleted_at
dan bukannya mengeluarkan baris.
Pulihkan rekod lembut yang dipadamkan:
$ post = post :: Ditarik ()-> cari (1); $ post-> memulihkan ();
7. Aksesor dan pemutar
Ubah suai data apabila mendapat atau menetapkan atribut.
Mutator (set)
Fungsi Awam SettitleatTribute ($ nilai) { $ this-> atribut ['title'] = Ucfirst ($ nilai); }
Aksesor (GET)
Fungsi Awam GetTitLeatTribute ($ nilai) { kembali UCFirst ($ nilai); }
Sekarang setiap kali anda mendapatkan atau menetapkan title
, ia dipermodalkan.
Eloquent membuat kerja dengan pangkalan data dalam Laravel intuitif dan bersih. Mulakan dengan model dan pertanyaan asas, kemudian secara beransur -ansur menggunakan hubungan, skop, dan aksesor apabila aplikasi anda berkembang. Kebanyakan masa, anda tidak akan memerlukan SQL mentah.
Pada asasnya, ingatlah: satu model setiap jadual, hubungan definisi, dan biarkan fasih melakukan mengangkat berat.
Atas ialah kandungan terperinci Cara menggunakan fasih di laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Buat Model dan Migrasi: Gunakan PhPartisanMake: ModelPost-M untuk menjana model dan fail penghijrahan, menentukan struktur meja dan jalankan phpartisanmigrate; 2. Operasi CRUD Asas: Gunakan pos :: semua (), cari (), buat (), simpan () dan padam () kaedah untuk menanyakan, membuat, mengemas kini dan memadam data; 3. Gunakan persatuan yang fasih: Tentukan hubungan dan hubungan hasmany dalam model, dan gunakan kaedah dengan () untuk memperlihatkan data yang berkaitan untuk mengelakkan masalah pertanyaan n 1; 4.

Polymorphicrelationshipsinlaravelallowamodelikecommentorimagetobelongtomultiplemodelssuchaspost, video, oruserusingasingleassociation.2.Thedatabaseschemarequires {Hubungan}

Ya ya, ya, ya, ya, yapaS, yoyacreateasoiNworkWitThlyFollowingTheSestEps: 1.setuplaraveliausingcomposer, configurethe.Envfile, enNipAceAuthenticationEvheButreh/jetStream/fortifify, andRunMigrationsforUsermanGENGENGENGA

Sistem Taskscheduling Laravel membolehkan anda menentukan dan menguruskan tugas-tugas masa melalui PHP, tanpa mengedit secara manual dengan Crontab Server, anda hanya perlu menambah tugas cron yang dilaksanakan sekali seminit ke pelayan: *CD/Path-to-Your-Project && phpartisanschedule: RUN >>/null2> App \ Console \ Kernel Class; 1. Menentukan tugas boleh menggunakan kaedah perintah, panggilan atau eksekutif, seperti $ jadual-

Buat fail bahasa: Buat subdirektori untuk setiap bahasa (seperti en, es) dalam direktori sumber/lang dan tambahkan fail.php mesej, atau gunakan fail JSON untuk menyimpan terjemahan; 2. Tetapkan Bahasa Permohonan: Baca Header Permintaan Menerima bahasa melalui middleware atau mengesan bahasa melalui awalan URL, tetapkan bahasa semasa menggunakan apl ()-> setLocale (), dan daftar middleware di kernel.php; 3. Gunakan fungsi terjemahan: gunakan __ (), trans () atau @lang dalam pandangan untuk mendapatkan kandungan terjemahan, dan disyorkan untuk menggunakan __ () yang menyokong sandaran; 4.

Menggunakan Laravel untuk membina backend mudah alih memerlukan terlebih dahulu memasang rangka kerja dan mengkonfigurasi persekitaran pangkalan data; 2. Tentukan laluan API dalam Laluan/API.PHP dan mengembalikan respons JSON menggunakan pengawal sumber; 3. Melaksanakan pengesahan API melalui Laravelsanctum untuk menjana token untuk penyimpanan dan pengesahan mudah alih; 4. Sahkan jenis fail apabila memuat naik fail dan simpannya pada cakera awam, dan buat pautan lembut untuk akses luaran; 5. Persekitaran pengeluaran memerlukan HTTPS, menetapkan had semasa, mengkonfigurasi CORS, melakukan kawalan versi API dan mengoptimumkan pengendalian ralat. Ia juga disyorkan untuk menggunakan sumber API, paging, beratur dan alat dokumen API untuk meningkatkan kebolehpercayaan dan prestasi. Gunakan Laravel untuk membina selamat,

Laravelusmonologtologmessagesviathelogfacade, withdefaultlogsstoredinstorage/logs/laravel.log.configurechannelsinconfig/logging.phptocontroloutput;

Pastikan terdapat lajur ingat_token dalam jadual pengguna. Penghijrahan lalai Laravel sudah termasuk medan ini. Jika tidak, ia akan ditambah melalui penghijrahan; 2. Tambah kotak semak dengan nama ingat dalam borang log masuk untuk menyediakan pilihan "Ingat Saya"; 3. Lulus parameter ingat kepada kaedah pengarang :: percubaan () semasa pengesahan manual untuk membolehkan log masuk berterusan; 4. "Ingatlah saya" berlangsung selama 5 tahun secara lalai, dan boleh disesuaikan melalui item konfigurasi Remember_for dalam config/auth.php; 5. laravel secara automatik membatalkan ingat_token apabila perubahan kata laluan atau pemadaman pengguna. Adalah disyorkan untuk menggunakan HTTPS untuk memastikan keselamatan dalam persekitaran pengeluaran; 6
