Laravel और Eloquent अधिकांश समस्याओं का पर्याप्त समाधान प्रदान करते हुए एप्लिकेशन और प्लेटफ़ॉर्म विकास को गति देने में मदद करते हैं। आवश्यकताओं को तेजी से विकास के साथ-साथ सुव्यवस्थित, पुन: प्रयोज्य, बनाए रखने योग्य और स्केलेबल कोड के साथ संबोधित किया जाता है।
डेवलपर्स में काम कर सकते हैं Eloquent
ActiveMethod कार्यान्वयन का कुशलतापूर्वक उपयोग करके एकाधिक डेटाबेस के साथ। यह एक वास्तुशिल्प पैटर्न है जहां मॉडल-व्यू-कंट्रोलर (एमवीसी) संरचना में बनाया गया मॉडल डेटाबेस में एक तालिका से मेल खाता है। लाभ यह है कि मॉडल लंबी SQL क्वेरी को कोड किए बिना सामान्य डेटाबेस संचालन करते हैं। टेम्प्लेट आपको तालिकाओं में डेटा क्वेरी करने और तालिकाओं में नए रिकॉर्ड डालने की अनुमति देते हैं। विभिन्न प्रणालियों पर चल रहे एकाधिक डेटाबेस को सिंक्रनाइज़ करने की प्रक्रिया सरल हो गई है। आपको SQL क्वेरीज़ लिखने की आवश्यकता नहीं है. तुमको बस यह करना है defiडेटाबेस तालिकाओं और उनके बीच संबंधों को समाप्त करें, और एलोक्वेंट बाकी काम करेगा।
एलोकेंट ओआरएम की उपयोगिता की सराहना करना और पारिस्थितिकी तंत्र को समझना जरूरी है। आरंभ करने के चरण:
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
यहां आप डीबी में प्रविष्टियों को हटाना, जोड़ना, संशोधित करना जारी रख सकते हैं, फिर उन्हें एक साधारण कमांड से पुनर्स्थापित कर सकते हैं।
Laravel Eloquent ऑब्जेक्ट-रिलेशनल मैपर (ORM) के साथ CRUD ऑपरेशन Laravel डेवलपर्स के लिए कई डेटाबेस के साथ काम करना आसान बनाता है। यह क्रिएट, रीड, अपडेट और डिलीट (CRUD) ऑपरेशन करता है, और ऑब्जेक्ट मॉडल को डेटाबेस टेबल पर मैप करता है। CRUD संचालन के लिए आवश्यक सभी डेटाबेस इंटरैक्शन को हैंडल करता है।
आप डेटाबेस में एक नया रिकॉर्ड डालने के लिए :: create विधि का उपयोग कर सकते हैं।
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
ऊपर दिखाई गई सरल निर्माण विधि के अलावा, आप एक नई वस्तु भी बना सकते हैं और उसे अलग-अलग विशेषताएँ दे सकते हैं। फिर, आप सेव () फ़ंक्शन को कॉल कर सकते हैं और कोड चला सकते हैं। तरीके जैसे firstOrCreate
() ओ firstOrNew
() रिकॉर्ड बनाने के अन्य विकल्प हैं। ये आपको कुछ विशेषताओं वाले छात्र को खोजने की अनुमति देंगे; यदि वह छात्र नहीं मिला है, तो आप या तो इसे डेटाबेस में बना देंगे या एक नया उदाहरण तत्काल बना देंगे।
एलोक्वेंट ओआरएम का उपयोग करके, आप अपने डेटाबेस में रिकॉर्ड पा सकते हैं। प्रश्नों का निर्माण सरलता से किया जाता है और एक सहज प्रवाह प्रदान करता है। बयान बनाने के लिए ::where
, आप विधियों का उपयोग करेंगे get
() और first
()। प्रक्रिया first
() विधि के दौरान केवल एक रिकॉर्ड लौटाएगा get
() रिकॉर्ड की एक लूप करने योग्य सरणी लौटाएगा। साथ ही, विधि find
() का उपयोग प्राथमिक कुंजियों की एक सरणी के साथ किया जा सकता है, जो मेल खाने वाले रिकॉर्ड का संग्रह लौटाएगा। यहां कुछ उदाहरण दिए गए हैं:
$student = Students::all();
यह कोड सभी छात्रों को मिलता है। जबकि निम्नलिखित कोड एक विशिष्ट छात्र को आईडी द्वारा ढूंढता है:
$ छात्र = छात्र :: ढूंढें (1);
साथ ही, जैसा कि नीचे दिखाया गया है, कोड एक विशिष्ट विशेषता के आधार पर एक छात्र को खोजने का वर्णन करता है।
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
गेट () विधि के लिए, यह कोड दिखाता है कि 5 से ऊपर के स्तर वाले छात्र को कैसे खोजा जाए।
$rankStudents = Student::where('student_rank', '>', 5)->get();
एलोक्वेंट का उपयोग करके रिकॉर्ड अपडेट करना उतना ही आसान है। किसी रिकॉर्ड को अपडेट करने के लिए, केवल वह रिकॉर्ड ढूंढें जिसे आप अपडेट करना चाहते हैं, विशेषताओं को संपादित करें और सहेजें। उदाहरण के लिए, जॉन डो के छात्र के ग्रेड स्तर को 5 में बदलने के लिए, पहले छात्र को खोजें और फिर सेव मेथड को निष्पादित करें।
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
डेटाबेस में पहले से मौजूद मॉडल को अपडेट करने के लिए सेव मेथड का भी इस्तेमाल किया जा सकता है।
एलोकेंट अपनी रिकॉर्ड अपडेट करने की आसान प्रक्रिया का दावा करता है, लेकिन डिलीट करने के साथ भी यही कहानी है। दो विकल्प हैं: पुल-आउट रिकॉर्ड और डिलीट विधि को निष्पादित करें, या बस नष्ट विधि का उपयोग करें। किसी रिकॉर्ड को खोजने और हटाने के लिए, बस निम्न आदेश चलाएँ:
$student = Students::find(1);
$student->delete();
एक रिकॉर्ड और कई रिकॉर्ड को हटाने के लिए, आदेश चलाए जाते हैं:
Students::destroy(1);
Students::destroy(1, 2, 3);
ध्यान दें कि नष्ट करने के पैरामीटर केवल प्राथमिक कुंजी हैं जो हटाने की विधि के विपरीत हैं जो किसी भी डेटाबेस कॉलम को स्वीकार कर सकते हैं।
स्तर 10 से ऊपर के सभी छात्रों को खोजने और हटाने के लिए।
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
रंग भरने के माध्यम से बढ़िया मोटर कौशल विकसित करना बच्चों को लेखन जैसे अधिक जटिल कौशल के लिए तैयार करता है। रंग भरना…
नौसैनिक क्षेत्र एक सच्ची वैश्विक आर्थिक शक्ति है, जो 150 अरब के बाज़ार की ओर बढ़ चुका है...
पिछले सोमवार को, फाइनेंशियल टाइम्स ने OpenAI के साथ एक समझौते की घोषणा की। एफटी अपनी विश्व स्तरीय पत्रकारिता को लाइसेंस देता है...
लाखों लोग स्ट्रीमिंग सेवाओं के लिए मासिक सदस्यता शुल्क का भुगतान करते हैं। यह आम राय है कि आप...