लेख

Laravel Eloquent म्हणजे काय, ते कसे वापरावे, उदाहरणांसह ट्यूटोरियल

Laravel PHP फ्रेमवर्कमध्ये Eloquent Object Relational Mapper (ORM) समाविष्ट आहे, जो डेटाबेसशी संवाद साधण्याचा अत्यंत सोपा मार्ग प्रदान करतो. 

Laravel आणि Eloquent ऍप्लिकेशन आणि प्लॅटफॉर्मच्या विकासाला गती देण्यास मदत करतात, बहुतेक समस्यांचे पुरेसे समाधान प्रदान करतात. आवश्यकता जलद विकासासह, तसेच व्यवस्थित, पुन्हा वापरता येण्याजोग्या, देखरेख करण्यायोग्य आणि स्केलेबल कोडसह संबोधित केल्या जातात. 

वाकबगार कसे कार्य करते

विकसक काम करू शकतात Eloquent एकाधिक डेटाबेससह कार्यक्षमतेने ActiveMethod अंमलबजावणी वापरून. हा एक आर्किटेक्चरल पॅटर्न आहे जिथे मॉडेल-व्ह्यू-कंट्रोलर (MVC) स्ट्रक्चरमध्ये तयार केलेले मॉडेल डेटाबेसमधील टेबलशी संबंधित आहे. फायदा असा आहे की मॉडेल्स लांब SQL क्वेरी कोडिंग न करता सामान्य डेटाबेस ऑपरेशन करतात. टेम्प्लेट्स तुम्हाला टेबल्समध्ये डेटा क्वेरी करण्याची आणि टेबलमध्ये नवीन रेकॉर्ड्स घालण्याची परवानगी देतात. वेगवेगळ्या सिस्टीमवर चालणारे अनेक डेटाबेस सिंक्रोनाइझ करण्याची प्रक्रिया सरलीकृत आहे. तुम्हाला SQL क्वेरी लिहिण्याची गरज नाही. तुम्हाला फक्त हेच करायचे आहे defiडेटाबेस टेबल्स आणि त्यांच्यातील संबंध पूर्ण करा आणि Eloquent उर्वरित काम करेल.

Laravel तयारी

Eloquent ORM च्या उपयुक्ततेचे कौतुक करणे आणि इकोसिस्टम समजून घेणे आवश्यक आहे. प्रारंभ करण्यासाठी पायऱ्या:

  1. getcomposer.org वरून Laravel इन्स्टॉल करा, हे करण्यासाठी येथे दिलेल्या सूचनांचे अनुसरण करा
  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

सीडर्स

एकूणच सीडर्स हा वर्गांचा एक विशेष संच आहे जो आम्हाला आमचा डेटाबेस पुन्हा पुन्हा त्याच डेटासह भरू देतो. आम्ही खालील आदेश लागू करतो:

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 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 = विद्यार्थी::शोधा(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();

डेटाबेसमध्ये आधीपासून अस्तित्वात असलेले मॉडेल अपडेट करण्यासाठी सेव्ह पद्धत देखील वापरली जाऊ शकते.

रेकॉर्ड हटवा

वाकबगार त्याच्या सोप्या रेकॉर्ड अद्ययावत करण्याच्या प्रक्रियेचा अभिमान बाळगतो, परंतु हटवण्यासोबत तीच कथा आहे. दोन पर्याय आहेत: पुल-आउट रेकॉर्ड आणि डिलीट पद्धत कार्यान्वित करा किंवा फक्त नष्ट पद्धत वापरा. रेकॉर्ड शोधण्यासाठी आणि हटवण्यासाठी, फक्त खालील आदेश चालवा:

$student = Students::find(1);
$student->delete();

रेकॉर्ड आणि एकाधिक रेकॉर्ड हटवण्यासाठी, कमांड चालवल्या जातात:

Students::destroy(1);
Students::destroy(1, 2, 3);

लक्षात घ्या की नष्ट करण्याचे पॅरामीटर्स डिलीट पद्धतीपेक्षा फक्त प्राथमिक की आहेत ज्या कोणत्याही डेटाबेस कॉलमला स्वीकारू शकतात.

स्तर 10 वरील सर्व विद्यार्थी शोधण्यासाठी आणि हटवण्यासाठी.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
इनोव्हेशन वृत्तपत्र
नवोपक्रमावरील सर्वात महत्त्वाच्या बातम्या चुकवू नका. त्यांना ईमेलद्वारे प्राप्त करण्यासाठी साइन अप करा.

अलीकडील लेख

आर्टिफिशियल इंटेलिजन्सद्वारे प्रक्रिया केलेल्या माहितीच्या प्रवाहाचे नियमन करण्यासाठी प्रकाशक आणि OpenAI करारांवर स्वाक्षरी करतात

गेल्या सोमवारी, फायनान्शिअल टाईम्सने OpenAI सह करार जाहीर केला. FT ने त्याच्या जागतिक दर्जाच्या पत्रकारितेचा परवाना…

30 एप्रिल 2024

ऑनलाइन पेमेंट: स्ट्रीमिंग सेवा तुम्हाला कायमचे पैसे कसे देतात ते येथे आहे

लाखो लोक स्ट्रीमिंग सेवांसाठी पैसे देतात, मासिक सदस्यता शुल्क भरतात. असे सामान्य मत आहे की आपण…

29 एप्रिल 2024

Veeam मध्ये रॅन्समवेअरसाठी सर्वात व्यापक समर्थन, संरक्षणापासून प्रतिसाद आणि पुनर्प्राप्तीपर्यंत वैशिष्ट्ये आहेत

Veeam द्वारे Coveware सायबर खंडणी घटना प्रतिसाद सेवा प्रदान करणे सुरू ठेवेल. Coveware फॉरेन्सिक आणि उपाय क्षमता प्रदान करेल…

23 एप्रिल 2024

हरित आणि डिजिटल क्रांती: भविष्यसूचक देखभाल तेल आणि वायू उद्योगात कशी बदल घडवत आहे

वनस्पती व्यवस्थापनासाठी नाविन्यपूर्ण आणि सक्रिय दृष्टीकोनसह, भविष्यसूचक देखभाल तेल आणि वायू क्षेत्रात क्रांती घडवत आहे.…

22 एप्रिल 2024

तुमच्या भाषेत इनोव्हेशन वाचा

इनोव्हेशन वृत्तपत्र
नवोपक्रमावरील सर्वात महत्त्वाच्या बातम्या चुकवू नका. त्यांना ईमेलद्वारे प्राप्त करण्यासाठी साइन अप करा.

आमचे अनुसरण करा