लेख

Laravel Eloquent क्या है, इसका उपयोग कैसे करें, उदाहरणों के साथ ट्यूटोरियल

Laravel PHP फ्रेमवर्क में Eloquent Object Relational Mapper (ORM) शामिल है, जो डेटाबेस के साथ संवाद करने का एक बेहद आसान तरीका प्रदान करता है। 

Laravel और Eloquent अधिकांश समस्याओं का पर्याप्त समाधान प्रदान करते हुए एप्लिकेशन और प्लेटफ़ॉर्म विकास को गति देने में मदद करते हैं। आवश्यकताओं को तेजी से विकास के साथ-साथ सुव्यवस्थित, पुन: प्रयोज्य, बनाए रखने योग्य और स्केलेबल कोड के साथ संबोधित किया जाता है। 

एलोकेंट कैसे काम करता है

डेवलपर्स में काम कर सकते हैं Eloquent ActiveMethod कार्यान्वयन का कुशलतापूर्वक उपयोग करके एकाधिक डेटाबेस के साथ। यह एक वास्तुशिल्प पैटर्न है जहां मॉडल-व्यू-कंट्रोलर (एमवीसी) संरचना में बनाया गया मॉडल डेटाबेस में एक तालिका से मेल खाता है। लाभ यह है कि मॉडल लंबी SQL क्वेरी को कोड किए बिना सामान्य डेटाबेस संचालन करते हैं। टेम्प्लेट आपको तालिकाओं में डेटा क्वेरी करने और तालिकाओं में नए रिकॉर्ड डालने की अनुमति देते हैं। विभिन्न प्रणालियों पर चल रहे एकाधिक डेटाबेस को सिंक्रनाइज़ करने की प्रक्रिया सरल हो गई है। आपको SQL क्वेरीज़ लिखने की आवश्यकता नहीं है. तुमको बस यह करना है defiडेटाबेस तालिकाओं और उनके बीच संबंधों को समाप्त करें, और एलोक्वेंट बाकी काम करेगा।

लारवेल तैयारी

एलोकेंट ओआरएम की उपयोगिता की सराहना करना और पारिस्थितिकी तंत्र को समझना जरूरी है। आरंभ करने के चरण:

  1. Laravel को getcomposer.org से इंस्टॉल करें, ऐसा करने के लिए यहां दिए गए निर्देशों का पालन करें
  2. निर्माण migration कंसोल का उपयोग करना Artisan
  3. टेम्प्लेट बनाएं eloquent
  4. मैं भागो 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

यह आपके सभी माइग्रेशन रद्द कर देगा।

Defiके मॉडलों का विचार Eloquent

डेटाबेस माइग्रेशन पूर्ण होने के बाद, अगली प्रक्रिया है seedingEloquent के बाद से खेल में आता है 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

seeders

कुल मिलाकर सीडर्स कक्षाओं का एक विशेष समूह है जो हमें अपने डेटाबेस को सटीक समान डेटा के साथ बार-बार पॉप्युलेट करने की अनुमति देता है। हम निम्नलिखित कमांड को लागू करते हैं:

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 के साथ CRUD

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
नवाचार समाचार पत्र
नवाचार पर सबसे महत्वपूर्ण समाचार देखना न भूलें। उन्हें ईमेल द्वारा प्राप्त करने के लिए साइन अप करें।

हाल के लेख

बच्चों के लिए रंग भरने वाले पन्नों के लाभ - सभी उम्र के लोगों के लिए जादू की दुनिया

रंग भरने के माध्यम से बढ़िया मोटर कौशल विकसित करना बच्चों को लेखन जैसे अधिक जटिल कौशल के लिए तैयार करता है। रंग भरना…

2 मई 2024

भविष्य यहाँ है: कैसे शिपिंग उद्योग वैश्विक अर्थव्यवस्था में क्रांति ला रहा है

नौसैनिक क्षेत्र एक सच्ची वैश्विक आर्थिक शक्ति है, जो 150 अरब के बाज़ार की ओर बढ़ चुका है...

1 मई 2024

आर्टिफिशियल इंटेलिजेंस द्वारा संसाधित सूचना के प्रवाह को विनियमित करने के लिए प्रकाशक और ओपनएआई ने समझौते पर हस्ताक्षर किए

पिछले सोमवार को, फाइनेंशियल टाइम्स ने OpenAI के साथ एक समझौते की घोषणा की। एफटी अपनी विश्व स्तरीय पत्रकारिता को लाइसेंस देता है...

अप्रैल 30 2024

ऑनलाइन भुगतान: यहां बताया गया है कि स्ट्रीमिंग सेवाएं आपको हमेशा के लिए भुगतान कैसे कराती हैं

लाखों लोग स्ट्रीमिंग सेवाओं के लिए मासिक सदस्यता शुल्क का भुगतान करते हैं। यह आम राय है कि आप...

अप्रैल 29 2024

अपनी भाषा में इनोवेशन पढ़ें

नवाचार समाचार पत्र
नवाचार पर सबसे महत्वपूर्ण समाचार देखना न भूलें। उन्हें ईमेल द्वारा प्राप्त करने के लिए साइन अप करें।

Seguici