Laravel lan Eloquent mbantu nyepetake pangembangan aplikasi lan platform, nyedhiyakake solusi sing nyukupi kanggo umume masalah. Persyaratan ditanggulangi kanthi pangembangan sing luwih cepet, uga kode sing disusun kanthi apik, bisa digunakake maneh, bisa dijaga, lan bisa diukur.
Pangembang bisa kerja ing Eloquent
kanthi macem-macem database kanthi efisien nggunakake implementasi ActiveMethod. Iki minangka pola arsitektur ing ngendi model sing digawe ing struktur Model-View-Controller (MVC) cocog karo tabel ing database. Kauntungane yaiku model nindakake operasi basis data umum tanpa ngode pitakon SQL sing dawa. Cithakan ngidini sampeyan takon data ing tabel lan nglebokake cathetan anyar menyang tabel. Proses nyinkronake pirang-pirang database sing mlaku ing sistem sing beda-beda wis disederhanakake. Sampeyan ora perlu nulis pitakon SQL. Kabeh sing kudu dilakoni yaiku defiRampungake tabel database lan hubungane, lan Eloquent bakal nindakake tugas liyane.
Ngapresiasi sarana Eloquent ORM, lan mangerteni ekosistem iku kudu. Langkah-langkah kanggo miwiti:
migration
nggunakake console Artisan
eloquent
seed
saka databaseArtisan Console
iku jeneng antarmuka baris printah kalebu ing Laravel. Nyedhiyakake sakumpulan prentah sing migunani kanggo digunakake nalika ngembangake aplikasi sampeyan. Iku mimpin dening komponen kuat Symfony Console
.
Kanggo ndeleng dhaptar kabeh printah Artisan sing kasedhiya, sampeyan bisa nggunakake printah dhaptar:
php artisan list
Kabeh prentah teka kanthi katrangan ringkes babagan argumen lan pilihan. Iki ditampilake ing layar "pitulung". Kanggo nampilake layar bantuan, mung ndhisiki jeneng printah kanthi "help" kaya sing ditampilake:
php artisan help migrate
Migration
Migrasi minangka proses manajemen basis data kanthi nulis PHP SQL
. Nyedhiyani cara kanggo nambah kontrol versi menyang database.
Kanggo nggawe migrasi, mung mbukak printah ing ngisor iki:
php artisan make:migration create_student_records
Iki nggawe file migrasi. Ing editor teks, bukak file sing lagi wae digawe ing folder kasebut database\migrations
:
<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;
class CreateStudentRecordsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('student__records', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('student__records');
}
}
Kode kasebut minangka kelas kanthi jeneng sing padha 'create student records
', lan duwe rong cara: munggah lan mudhun. Cara munggah kudu nggawe owahan ing database; dadi saben sampeyan migrasi database, sembarang kode ing cara munggah bakal kaleksanan. Ing tangan liyane, cara mudhun kudu muter maneh owah-owahan database; supaya saben sampeyan mbukak ing rollback
della migration
, cara mudhun kudu mbatalake apa cara munggah. Ing njero metode up
ana pembangun skema sing digunakake kanggo nggawe lan ngapusi tabel. Apa sing kedadeyan yen sampeyan mbatalake sawetara migrasi? Sampeyan mung kudu ngetrapake perintah ing ngisor iki:
php artisan migrate:rollback
Lan dheweke bakal ngumpulake sing pungkasan migration
kang wis kaleksanan. Uga, sampeyan bisa mulihake basis data kanthi mbukak:
php artisan migrate:reset
Iki bakal mbatalake kabeh migrasi sampeyan.
Eloquent
Sawise migrasi database rampung, proses sabanjure yaiku seeding
. Eloquent
rawuh menyang muter wiwit ing seeding
nglebokake cathetan menyang database kita. Dadi, sampeyan kudu nggawe template sadurunge ngisi basis data. Saben tabel database duwe model sing cocog sing digunakake kanggo sesambungan karo tabel kasebut. Cithakan ngidini sampeyan takon data ing tabel, uga nglebokake cathetan anyar menyang tabel. Cara paling gampang kanggo instantiate model yaiku nggunakake printah ing ngisor iki:
php artisan make:model Student
Conto cithakan kapacak ing ngisor iki Student
, sing bisa digunakake kanggo njupuk lan nyimpen informasi saka tabel database siswa:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Nalika sampeyan generate model lan ing wektu sing padha pengin generate migrasi database, sampeyan bisa nggunakake pilihan –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Sakabèhé seeder minangka kumpulan kelas khusus sing ngidini kita ngisi basis data bola-bali kanthi data sing padha. Kita nindakake printah ing ngisor iki:
php artisan make:seeder StudentsRecordSeeder
Ing editor teks, ing folder wiji, bukak file sing mentas digawe kanthi jeneng file: StudentsRecordSeeder.php
. Nalika sampeyan bisa ndeleng iki mung kelas banget prasaja karo siji cara disebut run
,
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Kode mung pambungkus sak kelas printah console, khusus dibangun kanggo bantuan karo tugas saka seeding
. Owahi kode banjur simpen.
public function run()
{
echo 'Seeding!';
}
Lan pindhah menyang terminal:
php artisan db:seed --class=StudentsRecordSeeder
Saiki sampeyan bisa ngisi tabel kanthi sawetara entri lan mbukak:
php artisan db:seed --class=class=StudentsRecordSeeder
Kene sampeyan bisa tetep mbusak, nambah, ngowahi entri ing DB, banjur mulihake karo printah prasaja.
Operasi CRUD karo Laravel Eloquent object-relational mapper (ORM) nggampangake pangembang Laravel nggarap macem-macem database. Iki nindakake operasi nggawe, maca, nganyari, lan mbusak (CRUD), lan model obyek peta menyang tabel database. Ngalahake kabeh interaksi database sing dibutuhake kanggo operasi CRUD.
Sampeyan bisa nggunakake :: cara nggawe kanggo masang rekaman anyar menyang database.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Saliyane cara nggawe prasaja sing dituduhake ing ndhuwur, sampeyan uga bisa nggawe obyek anyar lan menehi atribut sing beda. Banjur, sampeyan bisa nelpon fungsi nyimpen () lan mbukak kode. Metode kaya firstOrCreate
() utawa firstOrNew
() minangka pilihan liyane kanggo nggawe rekaman. Iki bakal ngidini sampeyan nemokake siswa kanthi atribut tartamtu; yen siswa ora ketemu, sampeyan bakal nggawe ing database utawa instantiate conto anyar.
Nggunakake Eloquent ORM, sampeyan bisa nemokake cathetan ing database. Pitakonan mung dibangun lan nawakake aliran sing lancar. Kanggo nggawe statement::where
, sampeyan bakal nggunakake cara get
() Lan first
(). Metode first
() mung bakal ngasilake siji rekaman, nalika cara get
() bakal ngasilake rekaman sing bisa diulang. Uga, cara find
() bisa digunakake karo Uploaded tombol utami, kang bakal ngasilake koleksi rekaman cocog. Ing ngisor iki sawetara conto:
$student = Students::all();
Kode iki entuk kabeh siswa. Nalika kode ing ngisor iki nemokake siswa tartamtu kanthi ID:
$murid = Siswa:: golek (1);
Uga, kaya sing kapacak ing ngisor iki, kode kasebut nggambarake nggoleki siswa adhedhasar atribut tartamtu.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Kanggo metode get(), kode iki nuduhake carane golek siswa sing tingkat ndhuwur 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Nganyari cathetan nggunakake Eloquent mung kaya prasaja. Kanggo nganyari rekaman, golek rekaman sing pengin dianyari, sunting atribut lan simpen. Contone, kanggo ngganti tingkat kelas siswa John Doe dadi 5, goleki siswa dhisik banjur tindakake metode simpen.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Cara nyimpen uga bisa digunakake kanggo nganyari model sing wis ana ing database.
Eloquent gumunggung proses nganyari rekaman sing gampang, nanging nduweni crita sing padha karo pambusakan. Ana rong pilihan: tarik-metu cathetan lan nglakokaké cara mbusak, utawa mung nggunakake cara numpes. Kanggo nemokake lan mbusak rekaman, jalanake printah ing ngisor iki:
$student = Students::find(1);
$student->delete();
Kanggo mbusak rekaman lan pirang-pirang rekaman, prentah ditindakake:
Students::destroy(1);
Students::destroy(1, 2, 3);
Elinga yen paramèter karusakan mung minangka kunci utama, ora kaya cara mbusak sing bisa nampa kolom database.
Kanggo nemokake lan mbusak kabeh siswa ing ndhuwur level 10.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
CMA UK wis ngetokake bebaya babagan prilaku Big Tech ing pasar intelijen buatan. Ana…
Keputusan "Case Green", sing dirumusake dening Uni Eropa kanggo ningkatake efisiensi energi bangunan, wis rampung proses legislatif kanthi…
Laporan taunan Casaleggio Associati babagan E-commerce ing Italia ditampilake. Laporan kanthi irah-irahan "AI-Commerce: tapel wates E-dagang kanthi Kecerdasan Buatan".…
Asil inovasi teknologi sing terus-terusan lan komitmen kanggo lingkungan lan kesejahteraan masarakat. Bandalux nampilake Airpure®, tenda…