Laravel र Eloquent ले अनुप्रयोग र प्लेटफर्म विकासको गति बढाउन मद्दत गर्दछ, धेरै समस्याहरूको लागि पर्याप्त समाधान प्रदान गर्दछ। आवश्यकताहरू छिटो विकास, साथसाथै राम्रो संगठित, पुन: प्रयोज्य, मर्मत योग्य, र स्केलेबल कोड संग सम्बोधन गरिन्छ।
विकासकर्ताहरूले काम गर्न सक्छन् Eloquent
एक्टिभ मेथोड कार्यान्वयनलाई कुशलतापूर्वक प्रयोग गरी बहु डेटाबेसहरूसँग। यो एक आर्किटेक्चरल ढाँचा हो जहाँ मोडेल-दृश्य-नियन्त्रक (MVC) संरचनामा सिर्जना गरिएको मोडेल डेटाबेसमा रहेको तालिकासँग मेल खान्छ। फाइदा यो हो कि मोडेलहरूले लामो SQL प्रश्नहरू कोडिङ बिना सामान्य डाटाबेस सञ्चालनहरू प्रदर्शन गर्छन्। टेम्प्लेटहरूले तपाईंलाई तालिकाहरूमा डेटा क्वेरी गर्न र तालिकाहरूमा नयाँ रेकर्डहरू घुसाउन अनुमति दिन्छ। विभिन्न प्रणालीहरूमा चलिरहेको बहु डाटाबेसहरू सिङ्क्रोनाइज गर्ने प्रक्रियालाई सरलीकृत गरिएको छ। तपाईंले SQL प्रश्नहरू लेख्न आवश्यक छैन। तपाईले गर्नु पर्ने मात्र हो defiडाटाबेस तालिकाहरू र तिनीहरू बीचको सम्बन्धहरू समाप्त गर्नुहोस्, र Eloquent ले बाँकी काम गर्नेछ।
Eloquent ORM को उपयोगिताको प्रशंसा गर्दै, र इकोसिस्टम बुझ्नु आवश्यक छ। सुरु गर्न चरणहरू:
migration
कन्सोल प्रयोग गर्दै Artisan
eloquent
seed
डाटाबेस कोArtisan Console
Laravel मा समावेश आदेश लाइन इन्टरफेस को नाम हो। तपाईंको अनुप्रयोग विकास गर्दा प्रयोग गर्न उपयोगी आदेशहरूको सेट प्रदान गर्दछ। यो शक्तिशाली घटक द्वारा संचालित छ Symfony Console
.
सबै उपलब्ध कारीगर आदेशहरूको सूची हेर्न, तपाइँ सूची आदेश प्रयोग गर्न सक्नुहुन्छ:
php artisan list
सबै आदेशहरू यसको तर्क र विकल्पहरूको संक्षिप्त विवरणको साथ आउँछन्। यो "मद्दत" स्क्रिनमा देखाइएको छ। मद्दत स्क्रिन प्रदर्शन गर्न, देखाइए अनुसार "मद्दत" को साथ आदेश नामको अगाडि जानुहोस्:
php artisan help migrate
Migration
माइग्रेसन भनेको PHP लेखेर डाटाबेस व्यवस्थापन प्रक्रिया हो SQL
। डाटाबेसमा संस्करण नियन्त्रण थप्ने तरिका प्रदान गर्दछ।
माइग्रेसन सिर्जना गर्न, केवल निम्न आदेश चलाउनुहोस्:
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
', र दुई तरिकाहरू छन्: माथि र तल। माथिको विधिले डाटाबेसमा परिवर्तन गर्नुपर्छ; त्यसैले जब तपाइँ तपाइँको डाटाबेस माइग्रेट गर्नुहुन्छ, माथिको विधिमा कुनै पनि कोड कार्यान्वयन गरिनेछ। अर्कोतर्फ, डाउन विधिले ती डाटाबेस परिवर्तनहरूलाई रोल ब्याक गर्नुपर्छ; त्यसैले जब तपाईं चलाउनुहुन्छ rollback
डेला migration
, डाउन विधिले माथिको विधिले गरेको कुरालाई पूर्ववत गर्नुपर्छ। विधि भित्र up
त्यहाँ तालिकाहरू सिर्जना गर्न र हेरफेर गर्न प्रयोग गरिएको स्कीमा बिल्डर छ। के हुन्छ यदि तपाईंले आफ्नो माइग्रेसनहरू रद्द गर्नुभयो भने? तपाईंले गर्नुपर्ने भनेको निम्न आदेश कार्यान्वयन गर्नु हो:
php artisan migrate:rollback
र उसले अन्तिम जम्मा गर्नेछ migration
जुन कार्यान्वयनमा आएको छ । साथै, तपाईं चलाएर डाटाबेस पूर्ण रूपमा पुनर्स्थापित गर्न सक्नुहुन्छ:
php artisan migrate:reset
यसले तपाईंको सबै माइग्रेसनहरू रद्द गर्नेछ।
Eloquent
डाटाबेस माइग्रेसन पूरा भएपछि, अर्को प्रक्रिया हो seeding
. Eloquent
देखि खेलमा आउँछ seeding
हाम्रो डाटाबेसमा रेकर्ड सम्मिलित गर्दैछ। त्यसैले डाटाबेस भर्नु अघि तपाईंले टेम्प्लेटहरू सिर्जना गर्न आवश्यक छ। प्रत्येक डाटाबेस तालिकासँग सम्बन्धित मोडेल हुन्छ जुन त्यो तालिकासँग अन्तरक्रिया गर्न प्रयोग गरिन्छ। टेम्प्लेटहरूले तपाइँलाई तपाइँको तालिकाहरूमा डेटा क्वेरी गर्न अनुमति दिन्छ, साथै तालिकामा नयाँ रेकर्डहरू सम्मिलित गर्दछ। मोडेल इन्स्ट्यान्ट गर्ने सबैभन्दा सजिलो तरिका निम्न आदेश प्रयोग गर्न हो:
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
समग्र सीडरहरू वर्गहरूको एक विशेष सेट हो जसले हामीलाई हाम्रो डाटाबेसलाई ठ्याक्कै उही डाटाको साथ बारम्बार भर्न अनुमति दिन्छ। हामी निम्न आदेश लागू गर्छौं:
php artisan make:seeder StudentsRecordSeeder
पाठ सम्पादकमा, बीज फोल्डर अन्तर्गत, फाइलनामको साथ नयाँ सिर्जना गरिएको फाइल खोल्नुहोस्: StudentsRecordSeeder.php
। तपाईले देख्न सक्नुहुने यो एकल विधि भनिएको एक धेरै सरल वर्ग हो run
()।
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
कोड कन्सोल कमाण्ड क्लासको वरिपरि एउटा र्यापर मात्र हो, विशेष गरी कार्यको साथ मद्दतको लागि बनाइएको seeding
। कोड सम्पादन गर्नुहोस् र त्यसपछि बचत गर्नुहोस्।
public function run()
{
echo 'Seeding!';
}
र टर्मिनलमा जाँदै:
php artisan db:seed --class=StudentsRecordSeeder
अब तपाइँ केहि प्रविष्टिहरूको साथ तालिका भर्न सक्नुहुन्छ र चलाउन सक्नुहुन्छ:
php artisan db:seed --class=class=StudentsRecordSeeder
यहाँ तपाइँ DB मा प्रविष्टिहरू मेटाउन, थप्न, परिमार्जन गर्न जारी राख्न सक्नुहुन्छ, त्यसपछि तिनीहरूलाई साधारण आदेशको साथ पुनर्स्थापना गर्नुहोस्।
Laravel Eloquent object-relational mapper (ORM) सँग CRUD सञ्चालनहरूले Laravel विकासकर्ताहरूलाई धेरै डाटाबेसहरूसँग काम गर्न सजिलो बनाउँछ। यसले सिर्जना, पढ्न, अद्यावधिक, र मेटाउने (CRUD) कार्यहरू प्रदर्शन गर्दछ, र डाटाबेस तालिकाहरूमा वस्तु मोडेलहरू नक्सा गर्दछ। CRUD सञ्चालनका लागि आवश्यक सबै डाटाबेस अन्तरक्रियाहरू ह्यान्डल गर्दछ।
तपाईले डेटाबेसमा नयाँ रेकर्ड घुसाउन ::create विधि प्रयोग गर्न सक्नुहुन्छ।
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
माथि देखाइएको सरल सिर्जना विधिको अतिरिक्त, तपाइँ नयाँ वस्तु सिर्जना गर्न र यसलाई विभिन्न विशेषताहरू दिन सक्नुहुन्छ। त्यसपछि, तपाईंले save() प्रकार्यलाई कल गर्न सक्नुहुन्छ र कोड चलाउन सक्नुहुन्छ। विधिहरू जस्तै firstOrCreate
() ओ firstOrNew
() रेकर्डहरू सिर्जना गर्नका लागि अन्य विकल्पहरू छन्। यसले तपाईंलाई निश्चित विशेषताहरू भएको विद्यार्थी फेला पार्न अनुमति दिनेछ; यदि त्यो विद्यार्थी फेला परेन भने, तपाईले यसलाई डेटाबेसमा सिर्जना गर्नुहुनेछ वा नयाँ उदाहरण इन्स्ट्यान्ट गर्नुहुनेछ।
Eloquent ORM प्रयोग गरेर, तपाइँ तपाइँको डाटाबेसमा रेकर्डहरू फेला पार्न सक्नुहुन्छ। प्रश्नहरू सरल रूपमा निर्माण गरिएका छन् र एक सहज प्रवाह प्रस्ताव गर्दछ। कथनहरू सिर्जना गर्न:where
, तपाईंले विधिहरू प्रयोग गर्नुहुनेछ get
() र first
() विधि first
() केवल एक रेकर्ड फिर्ता गर्नेछ, जबकि विधि get
() रेकर्डहरूको लुपयोग्य एरे फर्काउनेछ। साथै, विधि find
() प्राथमिक कुञ्जीहरूको एर्रेसँग प्रयोग गर्न सकिन्छ, जसले मिल्दो रेकर्डहरूको संग्रह फिर्ता गर्नेछ। यहाँ केही उदाहरणहरू छन्:
$student = Students::all();
यो कोड सबै विद्यार्थीहरूलाई प्राप्त हुन्छ। जबकि निम्न कोडले ID द्वारा एक विशिष्ट विद्यार्थी फेला पार्छ:
$student = विद्यार्थीहरू::find(1);
साथै, तल देखाइए अनुसार, कोडले एक विशेष विशेषताको आधारमा विद्यार्थीको खोजीलाई वर्णन गर्दछ।
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
get() विधिको लागि, यो कोडले ५ माथिको स्तर भएको विद्यार्थीलाई कसरी फेला पार्ने भनेर देखाउँछ।
$rankStudents = Student::where('student_rank', '>', 5)->get();
Eloquent प्रयोग गरी रेकर्डहरू अद्यावधिक गर्न सजिलो छ। रेकर्ड अद्यावधिक गर्न, तपाईंले अद्यावधिक गर्न चाहनुभएको रेकर्ड फेला पार्नुहोस्, विशेषताहरू सम्पादन गर्नुहोस् र बचत गर्नुहोस्। उदाहरणका लागि, जोन डोको विद्यार्थीको ग्रेड स्तर 5 मा परिवर्तन गर्न, पहिले विद्यार्थी फेला पार्नुहोस् र त्यसपछि बचत विधि कार्यान्वयन गर्नुहोस्।
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
डाटाबेसमा पहिले नै अवस्थित मोडेलहरू अद्यावधिक गर्न बचत विधि पनि प्रयोग गर्न सकिन्छ।
Eloquent ले यसको सजिलो रेकर्ड अपडेट गर्ने प्रक्रियाको गर्व गर्दछ, तर यसमा मेटाउनेसँग समान कथा छ। त्यहाँ दुई विकल्पहरू छन्: पुल-आउट रेकर्डहरू र मेटाउने विधि कार्यान्वयन गर्नुहोस्, वा केवल नष्ट विधि प्रयोग गर्नुहोस्। रेकर्ड फेला पार्न र मेटाउन, केवल निम्न आदेशहरू चलाउनुहोस्:
$student = Students::find(1);
$student->delete();
रेकर्ड र धेरै रेकर्डहरू मेटाउन, आदेशहरू चलाइन्छ:
Students::destroy(1);
Students::destroy(1, 2, 3);
नोट गर्नुहोस् कि नष्ट को प्यारामिटरहरू केवल प्राथमिक कुञ्जीहरू हुन् जुन मेटाउने विधिको विपरीत हो जसले कुनै पनि डाटाबेस स्तम्भ स्वीकार गर्न सक्छ।
स्तर 10 माथिका सबै विद्यार्थीहरू फेला पार्न र मेटाउन।
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
गत सोमबार, फाइनान्सियल टाइम्सले OpenAI सँग सम्झौताको घोषणा गर्यो। FT ले आफ्नो विश्व स्तरीय पत्रकारिता लाई लाइसेन्स...
लाखौं मानिसहरूले स्ट्रिमिङ सेवाहरूको लागि भुक्तानी गर्छन्, मासिक सदस्यता शुल्क तिर्छन्। यो आम धारणा छ कि तपाईं…
Veeam द्वारा Coveware ले साइबर जबरजस्ती घटना प्रतिक्रिया सेवाहरू प्रदान गर्न जारी राख्नेछ। Coveware ले फोरेन्सिक र उपचार क्षमताहरू प्रदान गर्दछ ...
अनुमानित मर्मतसम्भारले तेल र ग्यास क्षेत्रमा क्रान्तिकारी परिवर्तन गर्दैछ, बिरुवा व्यवस्थापनको लागि एक नवीन र सक्रिय दृष्टिकोणको साथ।…