Laravel နှင့် Eloquent တို့သည် ပြဿနာအများစုအတွက် လုံလောက်သောအဖြေကို ပေးစွမ်းပြီး အက်ပ်နှင့် ပလက်ဖောင်းဖွံ့ဖြိုးတိုးတက်မှုကို အရှိန်မြှင့်ရန် ကူညီပေးသည်။ လိုအပ်ချက်များကို ပိုမိုမြန်ဆန်သော ဖွံ့ဖြိုးတိုးတက်မှု၊ ကောင်းစွာဖွဲ့စည်းထားသော၊ ပြန်သုံးနိုင်သော၊ ထိန်းသိမ်းနိုင်သော၊ နှင့် အရွယ်တင်နိုင်သော ကုဒ်များဖြင့် ဖြေရှင်းထားသည်။
Developer များ တွင် အလုပ်လုပ်နိုင်သည်။ Eloquent
များပြားသောဒေတာဘေ့စ်များနှင့်အတူ ActiveMethod အကောင်အထည်ဖော်မှုကို အသုံးပြု၍ ထိရောက်စွာလုပ်ဆောင်ပါ။ Model-View-Controller (MVC) တည်ဆောက်ပုံတွင် ဖန်တီးထားသော မော်ဒယ်သည် ဒေတာဘေ့စ်ရှိ ဇယားတစ်ခုနှင့် ကိုက်ညီသည့် ဗိသုကာပုံစံတစ်ခုဖြစ်သည်။ အကျိုးကျေးဇူးမှာ templates များသည် ရှည်လျားသော SQL queries များကို coding မလုပ်ဘဲ ဘုံဒေတာဘေ့စ်လုပ်ဆောင်မှုများကို လုပ်ဆောင်နိုင်ခြင်းဖြစ်သည်။ နမူနာပုံစံများသည် သင့်အား ဇယားများတွင် ဒေတာကို မေးမြန်းနိုင်ပြီး မှတ်တမ်းအသစ်များကို ဇယားများတွင် ထည့်သွင်းနိုင်စေပါသည်။ မတူညီသောစနစ်များတွင် လုပ်ဆောင်နေသည့် ဒေတာဘေ့စ်များစွာကို တစ်ပြိုင်တည်းလုပ်ဆောင်ခြင်းလုပ်ငန်းစဉ်သည် ချောမွေ့သည်။ သင်သည် SQL queries များကိုရေးရန်မလိုအပ်ပါ။ မင်းလုပ်စရာရှိတာက defiဒေတာဘေ့စ်ဇယားများနှင့် ၎င်းတို့ကြားရှိ ဆက်ဆံရေးများကို အပြီးသတ်ပြီး Eloquent သည် ကျန်အလုပ်များကို လုပ်ဆောင်မည်ဖြစ်သည်။
Eloquent ORM ၏ အသုံးဝင်မှုကို တန်ဖိုးထားလေးစားပြီး ဂေဟစနစ်ကို နားလည်ရန် လိုအပ်ပါသည်။ စတင်ရန် အဆင့်များ-
migration
console ကို အသုံးပြု Artisan
eloquent
seed
ဒေတာဘေ့စ၏Artisan Console
Laravel တွင်ပါဝင်သော command line interface ၏အမည်ဖြစ်ပါသည်။ သင့်အပလီကေးရှင်းကို ဖန်တီးနေစဉ် အသုံးပြုရန် အသုံးဝင်သော command အစုံကို ပေးပါသည်။ ၎င်းကို အားကောင်းသော အစိတ်အပိုင်းဖြင့် မောင်းနှင်သည်။ Symfony Console
.
ရရှိနိုင်သော Artisan ညွှန်ကြားချက်များစာရင်းကို ကြည့်ရှုရန်၊ စာရင်း command ကို အသုံးပြုနိုင်သည်။
php artisan list
အမိန့်အားလုံးသည် ၎င်း၏ အကြောင်းပြချက်များနှင့် ရွေးချယ်စရာများအကြောင်း အတိုချုံးဖော်ပြချက်ပါရှိသည်။ ၎င်းကို "အကူအညီ" မျက်နှာပြင်တွင် ပြသထားသည်။ အကူအညီစခရင်ကို ပြသရန်၊ ပြထားသည့်အတိုင်း "help" ဖြင့် အမိန့်ပေးအမည်ကို ရှေ့တွင်သာ နှိပ်ပါ။
php artisan help migrate
Migration
ပြောင်းရွှေ့ခြင်းသည် PHP အစား ဒေတာဘေ့စ် စီမံခန့်ခွဲမှု လုပ်ငန်းစဉ်တစ်ခုဖြစ်သည်။ SQL
. ဒေတာဘေ့စ်သို့ ဗားရှင်းထိန်းချုပ်မှုထည့်ရန် နည်းလမ်းတစ်ခု ပေးသည်။
ရွှေ့ပြောင်းခြင်းတစ်ခုဖန်တီးရန်၊ အောက်ပါ command ကို run လိုက်ပါ။
php artisan make:migration create_student_records
၎င်းသည် ရွှေ့ပြောင်းခြင်းဖိုင်ကို ဖန်တီးပေးသည်။ သင်၏ စာသားတည်းဖြတ်မှုတွင်၊ ဖိုဒါတွင် သင်ဖန်တီးထားသည့် ဖိုင်ကိုဖွင့်ပါ။ 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');
}
}
ကုဒ်သည် အမည်တူ အတန်းတစ်ခုဖြစ်သည်၊create student records
' ၊ အပေါ်နှင့်အောက် နည်းလမ်းနှစ်မျိုးရှိသည်။ တက်လာသည့်နည်းလမ်းသည် ဒေတာဘေ့စ်သို့ ပြောင်းလဲမှုများ ပြုလုပ်သင့်သည်။ ထို့ကြောင့် သင်၏ဒေတာဘေ့စ်ကို ရွှေ့ပြောင်းသည့်အခါတိုင်း၊ up method ရှိ မည်သည့်ကုဒ်ကိုမဆို လုပ်ဆောင်လိမ့်မည်။ တစ်ဖက်တွင်၊ down method သည် ထိုဒေတာဘေ့စ်ပြောင်းလဲမှုများကို ပြန်လည်ပြုလုပ်သင့်သည်။ ဒါကြောင့်သင် run သည့်အခါတိုင်း rollback
della migration
down method သည် up method သည် မည်သည် ကို ပြန်ပြင်သင့်သနည်း။ နည်းလမ်းအတွင်းပိုင်း up
ဇယားများကိုဖန်တီးရန်နှင့် ကိုင်တွယ်ရန်အသုံးပြုသည့် schema builder ရှိပါသည်။ သင်၏ ရွှေ့ပြောင်းနေထိုင်မှုအချို့ကို ပယ်ဖျက်ပါက မည်သို့ဖြစ်မည်နည်း။ သင်လုပ်ရန်မှာ အောက်ပါ command ကိုအကောင်အထည်ဖော်ရန်ဖြစ်သည်။
php artisan migrate:rollback
ပြီးတော့ သူနောက်ဆုံးတစ်ခုကို စုဆောင်းမယ်။ migration
အကောင်အထည်ဖော်ခဲ့ပြီးဖြစ်သည်။ ထို့အပြင်၊ သင်သည် လုပ်ဆောင်ခြင်းဖြင့် ဒေတာဘေ့စ်ကို အပြည့်အဝ ပြန်လည်ရယူနိုင်သည်-
php artisan migrate:reset
၎င်းသည် သင်၏ပြောင်းရွှေ့မှုအားလုံးကို ပယ်ဖျက်ပါမည်။
Eloquent
ဒေတာဘေ့စ်ပြောင်းရွှေ့ခြင်းပြီးမြောက်ပြီးနောက်၊ နောက်လုပ်ငန်းစဉ်တစ်ခုဖြစ်သည်။ seeding
. Eloquent
ကတည်းက စတင်ကစားလာသည်။ seeding
ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်ထဲသို့ မှတ်တမ်းများကို ထည့်သွင်းနေပါသည်။ ထို့ကြောင့် ဒေတာဘေ့စ်ကို မဖြည့်မီ နမူနာပုံစံများကို ဖန်တီးရန် လိုအပ်ပါသည်။ ဒေတာဘေ့စ်ဇယားတစ်ခုစီတွင် ထိုဇယားနှင့် အပြန်အလှန်တုံ့ပြန်ရန်အတွက် အသုံးပြုသည့် သက်ဆိုင်သည့်ပုံစံတစ်ခုရှိသည်။ နမူနာပုံစံများသည် သင့်ဇယားများရှိ အချက်အလက်များကို စုံစမ်းမေးမြန်းနိုင်သည့်အပြင် ဇယားတွင် မှတ်တမ်းအသစ်များကို ထည့်သွင်းနိုင်သည်။ မော်ဒယ်ကို ချက်ခြင်းလုပ်ရန် အလွယ်ဆုံးနည်းလမ်းမှာ အောက်ပါ command ကို အသုံးပြုရန်ဖြစ်သည်။
php artisan make:model Student
နမူနာပုံစံတစ်ခုကို အောက်မှာ ပြထားပါတယ်။ Student
ကျွန်ုပ်တို့၏ကျောင်းသား၏ဒေတာဘေ့စ်ဇယားမှ အချက်အလက်များကို ရယူသိမ်းဆည်းရန် အသုံးပြုနိုင်သည့်၊
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
မော်ဒယ်တစ်ခု ဖန်တီးပြီး ဒေတာဘေ့စ် ရွှေ့ပြောင်းခြင်းကို ထုတ်ပေးလိုသည့် တစ်ချိန်တည်းတွင် သင်သည် ရွေးချယ်ခွင့်ကို အသုံးပြုနိုင်သည်။ –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
ယေဘုယျအားဖြင့် မျိုးစေ့ချသူများသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်ကို အတိအကျတူညီသောဒေတာဖြင့် ထပ်ခါထပ်ခါ ဖြည့်သွင်းနိုင်စေမည့် အထူးအတန်းများဖြစ်သည်။ ကျွန်ုပ်တို့သည် အောက်ပါ command ကို အကောင်အထည်ဖော်သည်-
php artisan make:seeder StudentsRecordSeeder
စာသားတည်းဖြတ်သူတွင်၊ မျိုးစေ့ဖိုဒါအောက်တွင်၊ အသစ်ဖန်တီးထားသောဖိုင်ကို ဖိုင်အမည်ဖြင့်ဖွင့်ပါ- StudentsRecordSeeder.php
. သင်တွေ့မြင်ရသည့်အတိုင်း ဤသည်ဟုခေါ်သော နည်းလမ်းတစ်ခုတည်းဖြင့် အလွန်ရိုးရှင်းသော အတန်းတစ်ခုမျှသာဖြစ်သည်။ run
() ။
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
ကုဒ်သည် လုပ်ငန်းဆောင်တာအတွက် ကူညီရန်အတွက် အထူးတည်ဆောက်ထားသော console command class ပတ်ပတ်လည်တွင် ခြုံထည်တစ်ခုမျှသာဖြစ်သည်။ seeding
. ကုဒ်ကို တည်းဖြတ်ပြီး သိမ်းဆည်းပါ။
public function run()
{
echo 'Seeding!';
}
ပြီးတော့ terminal ကိုသွား၊
php artisan db:seed --class=StudentsRecordSeeder
ယခု သင်သည် ဇယားကို အချို့သောထည့်သွင်းမှုများဖြင့် ဖြည့်သွင်းပြီး လုပ်ဆောင်နိုင်သည်-
php artisan db:seed --class=class=StudentsRecordSeeder
ဤနေရာတွင် သင်သည် DB တွင် ထည့်သွင်းမှုများကို ဖျက်ခြင်း၊ ထည့်ခြင်း၊ ပြုပြင်ခြင်းများ ဆက်လက်လုပ်ဆောင်နိုင်ပြီး ၎င်းတို့ကို ရိုးရှင်းသော command ဖြင့် ပြန်လည်ရယူနိုင်သည်။
Laravel Eloquent object-relational mapper (ORM) ဖြင့် CRUD လုပ်ဆောင်ချက်များသည် Laravel developer များအတွက် ဒေတာဘေ့စ်များစွာဖြင့် လုပ်ဆောင်ရန် ပိုမိုလွယ်ကူစေသည်။ ၎င်းသည် ဖန်တီးခြင်း၊ ဖတ်ခြင်း၊ အပ်ဒိတ်လုပ်ခြင်းနှင့် ဖျက်ခြင်း (CRUD) လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ပြီး ဒေတာဘေ့စ်ဇယားများဆီသို့ အရာဝတ္ထုမော်ဒယ်များကို မြေပုံဆွဲပါ။ CRUD လုပ်ဆောင်ချက်များအတွက် လိုအပ်သော ဒေတာဘေ့စ် အပြန်အလှန်တုံ့ပြန်မှုများအားလုံးကို ကိုင်တွယ်သည်။
ဒေတာဘေ့စ်ထဲသို့ မှတ်တမ်းအသစ်တစ်ခုကို ထည့်သွင်းရန် ::create နည်းလမ်းကို အသုံးပြုနိုင်သည်။
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
အထက်တွင်ပြသထားသည့် ရိုးရှင်းသောဖန်တီးမှုနည်းလမ်းအပြင်၊ သင်သည် အရာဝတ္ထုအသစ်တစ်ခုကိုလည်း ဖန်တီးနိုင်ပြီး မတူညီသော attribute များကို ပေးနိုင်ပါသည်။ ထို့နောက် save() function ကိုခေါ်ဆိုပြီး code ကို run နိုင်ပါသည်။ ကြိုက်တဲ့နည်းလမ်းများ firstOrCreate
( ) ဏ firstOrNew
() သည် မှတ်တမ်းများဖန်တီးရန်အတွက် အခြားရွေးချယ်စရာများဖြစ်သည်။ ဤအရာများသည် သင့်အား အရည်အချင်းအချို့ရှိသော ကျောင်းသားတစ်ဦးကို ရှာဖွေနိုင်စေမည်ဖြစ်သည်။ အကယ်၍ ထိုကျောင်းသားကို ရှာမတွေ့ပါက၊ သင်သည် ၎င်းကို ဒေတာဘေ့စ်တွင် ဖန်တီးမည် သို့မဟုတ် စံနမူနာအသစ်တစ်ခုကို ချက်ချင်းလုပ်ဆောင်မည်ဖြစ်သည်။
Eloquent ORM ကို အသုံးပြု၍ သင်၏ဒေတာဘေ့စ်တွင် မှတ်တမ်းများကို သင်ရှာဖွေနိုင်သည်။ မေးခွန်းများသည် ရိုးရှင်းစွာတည်ဆောက်ထားပြီး ချောမွေ့သောစီးဆင်းမှုကို ပေးဆောင်ပါသည်။ ကြေညာချက်များဖန်တီးရန်::where
၊ သင်အသုံးပြုသောနည်းလမ်းများ get
() နှင့် first
()။ နည်းလမ်း first
() method သည် record တစ်ခုတည်းကိုသာ ပြန်ပေးပါမည်။ get
() သည် loopable array of records ကို ပြန်ပေးလိမ့်မည်။ ထိုမှနည်းလမ်း find
() ကိုက်ညီသော မှတ်တမ်းများစုစည်းမှုကို ပြန်ပေးမည့် ပင်မသော့ခင်းတစ်ခုဖြင့် အသုံးပြုနိုင်သည်။ ဤသည်မှာ ဥပမာအချို့ဖြစ်သည်။
$student = Students::all();
ဤကုဒ်သည် ကျောင်းသားအားလုံးကို ရရှိသည်။ အောက်ပါကုဒ်သည် ID ဖြင့် သတ်မှတ်ထားသော ကျောင်းသားတစ်ဦးကို တွေ့ရှိသော်လည်း၊
$student = ကျောင်းသားများ::find(1);
ထို့အပြင်၊ အောက်တွင်ဖော်ပြထားသည့်အတိုင်း၊ ကုဒ်သည် တိကျသောအရည်အချင်းတစ်ခုအပေါ်အခြေခံ၍ ကျောင်းသားတစ်ဦးကိုရှာဖွေခြင်းကို ဖော်ပြသည်။
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
get() နည်းလမ်းအတွက်၊ ဤကုဒ်သည် အဆင့် 5 အထက်ရှိသော ကျောင်းသားကို မည်သို့ရှာဖွေရမည်ကို ပြသထားသည်။
$rankStudents = Student::where('student_rank', '>', 5)->get();
Eloquent ကို အသုံးပြု၍ မှတ်တမ်းများကို အပ်ဒိတ်လုပ်ခြင်းသည် လွယ်ကူပါသည်။ မှတ်တမ်းတစ်ခုကို အပ်ဒိတ်လုပ်ရန်၊ သင် အပ်ဒိတ်လုပ်လိုသော မှတ်တမ်းကို ရှာပါ၊ အရည်အချင်းများကို တည်းဖြတ်ပြီး သိမ်းဆည်းပါ။ ဥပမာအားဖြင့်၊ John Doe ၏ကျောင်းသားအဆင့်ကို 5 သို့ပြောင်းရန်၊ ပထမဦးစွာ ကျောင်းသားကိုရှာဖွေပြီး save method ကိုလုပ်ဆောင်ပါ။
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
သိမ်းဆည်းသည့်နည်းလမ်းကို ဒေတာဘေ့စ်တွင် ရှိနှင့်ပြီးသား မော်ဒယ်များကို အပ်ဒိတ်လုပ်ရန်လည်း အသုံးပြုနိုင်သည်။
Eloquent သည် ၎င်း၏ လွယ်ကူသော မှတ်တမ်းမွမ်းမံခြင်းလုပ်ငန်းစဉ်ကို ဂုဏ်ယူဝင့်ကြွားစွာ ကြွားဝါသော်လည်း ဖျက်ခြင်းနှင့် တူညီသော ဇာတ်လမ်းရှိသည်။ ရွေးချယ်စရာနှစ်ခုရှိသည်- ဆွဲထုတ်ခြင်းမှတ်တမ်းများနှင့် ဖျက်ပစ်သည့်နည်းလမ်းကို လုပ်ဆောင်ပါ သို့မဟုတ် ရိုးရှင်းစွာ ဖျက်ဆီးသည့်နည်းလမ်းကို အသုံးပြုပါ။ မှတ်တမ်းတစ်ခုကို ရှာဖွေပြီး ဖျက်ရန်၊ အောက်ပါ command များကို ရိုးရှင်းစွာ လုပ်ဆောင်ပါ။
$student = Students::find(1);
$student->delete();
မှတ်တမ်းတစ်ခုနှင့် မှတ်တမ်းများစွာကို ဖျက်ရန်၊ ညွှန်ကြားချက်များကို လုပ်ဆောင်သည်-
Students::destroy(1);
Students::destroy(1, 2, 3);
ဖျက်ပစ်ခြင်း၏ ကန့်သတ်ချက်များသည် မည်သည့်ဒေတာဘေ့စ်ကော်လံကိုမဆို လက်ခံနိုင်သည့် ဖျက်နည်းလမ်းနှင့်မတူဘဲ အဓိကသော့များသာဖြစ်ကြောင်း သတိပြုပါ။
အဆင့် 10 အထက် ကျောင်းသားအားလုံးကို ရှာဖွေပြီး ဖျက်ရန်။
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
ဆေးရောင်ခြယ်ခြင်းမှတစ်ဆင့် ကောင်းမွန်သော မော်တာစွမ်းရည်ကို ပြုစုပျိုးထောင်ခြင်းသည် ကလေးများကို စာရေးခြင်းကဲ့သို့ ပိုမိုရှုပ်ထွေးသောစွမ်းရည်များအတွက် ပြင်ဆင်ပေးသည်။ အရောင်ခြယ်ရန်…
ရေတပ်ကဏ္ဍသည် ကမ္ဘာလုံးဆိုင်ရာ စီးပွားရေးအင်အားကြီးဖြစ်ပြီး၊ ဘီလီယံ ၁၅၀ ရှိသော စျေးကွက်ဆီသို့ လျှောက်လှမ်းနေသော...
ပြီးခဲ့သည့်တနင်္လာနေ့တွင် Financial Times သည် OpenAI နှင့်သဘောတူညီချက်တစ်ခုကြေငြာခဲ့သည်။ FT သည် ၎င်း၏ ကမ္ဘာ့အဆင့်မီ သတင်းစာပညာကို လိုင်စင်ထုတ်ပေးသည်...
သန်းပေါင်းများစွာသောလူများသည် streaming ဝန်ဆောင်မှုများအတွက်ပေးဆောင်ပြီးလစဉ်စာရင်းသွင်းမှုအခကြေးငွေပေးဆောင်သည်။ အများအမြင်မှာ သင်...