laravel database migrations
यह ट्यूटोरियल लारवेल डेटाबेस हैंडलिंग, माइग्रेशन, सीडिंग, रॉ एसक्यूएल क्वरीज, इलक्वांट मॉडल, एलोकेंट रिलेशनशिप, आर्टिसन और टिंकर बताता है:
के पिछले ट्यूटोरियल में लारावेल ट्यूटोरियल श्रृंखला , हमने लारवेल फ्रेमवर्क की वास्तुकला, स्थापना और घटकों के बारे में सीखा। हमने लारवेल PHP प्रोजेक्ट स्ट्रक्चर को विस्तार से देखा है।
इस ट्यूटोरियल में, हम लारवेल डेटाबेस, माइग्रेशन, सीडिंग, रनिंग रॉ एसक्यूएल क्वरीज, एलोकेंट मॉडल, एलोकेंट रिलेशनशिप, आर्टिसन और टिंकर को कवर करेंगे। हमने सभी उदाहरणों में लारवेल संस्करण 7 का उपयोग किया है।
आप क्या सीखेंगे:
लारवेल डेटाबेस इंटरेक्शन
लारवेल फ्रेमवर्क का उपयोग कर डेटाबेस के साथ बातचीत करता है कच्चे एसक्यूएल, धाराप्रवाह क्वेरी बिल्डर, और यह एलओसीएनेंट ओआरएम । यह निम्नलिखित चार डेटाबेस का समर्थन करता है।
- MySQL संस्करण 5.6+
- PostgreSQL (Postgres) संस्करण 9.4+
- SQLite संस्करण 3.8.8+
- SQL सर्वर संस्करण 2017+
अपने प्रोजेक्ट को MySQL डेटाबेस से जोड़ने के लिए कदम:
चरण 1: कोई नया बनाएं डेटाबेस नामित db_ अकादमी (आप किसी भी उपयुक्त नाम का उपयोग कर सकते हैं) phpMyadmin या HeidiSQL ।
चरण 2: नाम से एक नया प्रोजेक्ट बनाएं अकादमी (आप किसी भी उपयुक्त नाम का उपयोग कर सकते हैं)।
ध्यान दें:कृपया हमारे पिछले ट्यूटोरियल, शुरुआती 1 के लिए लारवेल ट्यूटोरियल का संदर्भ लें, यदि आप नहीं जानते हैं कि लारवेल को कैसे स्थापित करें और एक नया प्रोजेक्ट बनाएं।
चरण 3: IDE में प्रोजेक्ट खोलें और खोलें .env फ़ाइल। का मान बदलें DB_DATABASE (डेटाबेस का नाम) को db_ अकादमी (आप किसी भी उपयुक्त नाम का उपयोग कर सकते हैं)। दोनों डेटाबेस नाम और का मूल्य DB_DATABASE में .env फ़ाइल समान होनी चाहिए।
ध्यान दें : आपको अपने डेटाबेस कॉन्फ़िगरेशन के आधार पर .env फ़ाइल जैसे DB_USERNAME, DB_PASSWOD, आदि में अन्य डेटाबेस मापदंडों को बदलने की आवश्यकता हो सकती है।
निम्न स्क्रीनशॉट .env फ़ाइल में डेटाबेस कॉन्फ़िगरेशन दिखाता है।
लारवेल माइग्रेशन
लारवेल माइग्रेशन एक विशेष सुविधा है जिसका उपयोग डेटाबेस टेबल बनाने के लिए किया जाता है। डिफ़ॉल्ट रूप से, xxxx_xx_xx_xxxxxx _create_users_table.php फ़ाइल और xxxx_xx_xx_xxxxxx _create_failed_jobs_table.php फ़ाइल शामिल हैं।
एक लारवल प्रवासन की संरचना
लारवेल प्रवासन वर्ग निम्नलिखित दो विधियों का उपयोग करता है:
- ऊपर () विधि: इस पद्धति का उपयोग डेटाबेस में एक नया टेबल, कॉलम या इंडेक्स बनाने के लिए किया जाता है।
- नीचे () विधि: इस पद्धति का उपयोग डेटाबेस में मौजूदा तालिका, कॉलम या इंडेक्स को छोड़ने के लिए किया जाता है। यह विधि अप () विधि के विपरीत विधि है।
एक लारवल प्रवासन का निर्माण
माइग्रेशन बनाने के लिए कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ create_tutors_table ।
php artisan make:migrationcreate_tutors_table
उपरोक्त कमांड के निष्पादन से एक फाइल बनेगी जिसका नाम है xxxx_xx_xx_xxxxxx_create_tutors_table.php में डेटाबेस / माइग्रेशन निर्देशिका।
खोलें xxxx_xx_xx_xxxxxx_create_tutors_table.php नीचे दिखाए अनुसार मौजूदा कोड को फ़ाइल करें और संशोधित करें।
id(); $table->string('name'); $table->string('subject'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('tutors'); } }
रनिंग लारवेल माइग्रेशन
सभी उपलब्ध माइग्रेशन को चलाने के लिए कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ।
php artisan migrate
उपरोक्त कमांड डेटाबेस में संबंधित टेबल बनाएगी जैसा कि नीचे दिखाया गया है।
रोलिंग बैक माइग्रेशन
(१) माइग्रेशन के अंतिम बैच को वापस लाना
कमांड रोल में निम्नलिखित कमांड को वापस रोल करने के लिए चलाएँ प्रवासियों का अंतिम जत्था (इसमें एकल या एकाधिक माइग्रेशन शामिल हो सकते हैं)।
php artisan migrate:rollback
# 2) रोलिंग बैक माइग्रेशन को चरण प्रदान करता है
कमांड रोल में निम्नलिखित कमांड को वापस रोल करने के लिए चलाएँ पिछले दो पलायन ।
php artisan migrate:rollback --step=2
# 3) आवेदन के सभी माइग्रेशन को वापस रोल करना
कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ सभी माइग्रेशन वापस रोल करें आवेदन का।
php artisan migrate:reset
# 4) एक ही कमांड का उपयोग करके रोलिंग बैक और माइग्रेट करें
कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ रोल बैक और माइग्रेट एक आदेश का उपयोग कर।
php artisan migrate:refresh
# 5) रोलिंग बैक और माइग्रेट सीमित नं। माइग्रेशन के
कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ वापस रोल करें और अंतिम दो माइग्रेशन माइग्रेट करें एक आदेश का उपयोग कर।
php artisan migrate:refresh --step=2
# 6) सभी टेबल और माइग्रेट छोड़ें
कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ सभी तालिकाओं को छोड़ें और माइग्रेट करें ।
php artisan migrate:fresh
लारवेल सीडिंग
जब आप एक एप्लिकेशन विकसित करते हैं, तो आपको एप्लिकेशन का परीक्षण करने के लिए डेटा की आवश्यकता होती है। डेटाबेस में परीक्षण डेटा सम्मिलित करने के लिए सीडिंग का उपयोग किया जाता है।
बीज बनाना
चरण 1: कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ एक बीजक बनाने के लिए उपयोगकर्ता ।
php artisan make:seederUserSeeder
यह कमांड एक फाइल बनाएगी जिसका नाम है UserSeeder.php में डेटाबेस / बीज निर्देशिका।
चरण 2: खोलें UserSeeder.php नीचे दिखाए अनुसार मौजूदा कोड को फ़ाइल करें और संशोधित करें।
insert(( 'name' => Str::random(5), 'email' => Str::random(5).'@user.com', 'password' => Hash::make('password'), )); } }
चरण 3: खोलें DatabaseSeeder.php फ़ाइल में डेटाबेस / बीज निर्देशिका और मौजूदा कोड को संशोधित करें जैसा कि नीचे दिखाया गया है।
call(UserSeeder::class); } }
ध्यान दें : DatabaseSeeder वर्ग का उपयोग अन्य बीज वर्गों को कॉल करने के लिए किया जाता है।
सीडर्स चलाना
चरण 1: कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ कम्पोज़र के ऑटोलैडर को फिर से तैयार करें ।
composer dump-autoload
चरण 2: चलाने के लिए कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ DatabaseSeeder कक्षा।
php artisan db:seed
उपरोक्त कमांड चलाने के बजाय, आप कमांड प्रॉम्प्ट को चलाने के लिए कमांड प्रॉम्प्ट में चला सकते हैं उपयोगकर्ता कक्षा।
php artisan db:seed --class= UserSeeder
ध्यान दें : कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ सभी तालिकाएँ छोड़ें और सभी माइग्रेशन फिर से चलाएँ ।
php artisan migrate:fresh --seed
चरण 3: डेटाबेस के साथ सम्मिलित डेटा सत्यापित करें।
डेटाबेस नीचे के समान आउटपुट प्रदर्शित करेगा:
कच्चे एसक्यूएल क्वेरी चल रहे हैं
एक सम्मिलित क्वेरी चला रहा है
चरण 1: में निम्नलिखित कोड खंड जोड़ें मार्गों / web.php करने के लिए एक नया रिकॉर्ड डालने के लिए फ़ाइल ट्यूटर्स तालिका।
Route::get('/insert', function () { DB::insert('insert into tutors(name,subject) values(?,?)',('Mr John','Computer Science')); });
चरण 2: URL पर जाएं: http: //academy.test/insert
चरण 3: डेटाबेस के साथ सम्मिलित डेटा सत्यापित करें।
डेटाबेस निम्न स्क्रीनशॉट के समान आउटपुट प्रदर्शित करेगा।
एक चुनिंदा क्वेरी चला रहा है
चरण 1: में निम्नलिखित कोड खंड जोड़ें मार्गों / web.php से डेटा पुनर्प्राप्त करने के लिए फ़ाइल ट्यूटर्स तालिका जो एक है ईद बराबर है दो ।
Route::get('/select',function(){ $tutors=DB::select('select * from tutors where id=?',(1)); foreach($tutors as $tutor) { echo $tutor->name.' is teaching '.$tutor->;subject; } });
चरण 2: URL पर जाएं: http: /academy.test/select
चरण 3: ब्राउज़र निम्न स्क्रीनशॉट के समान आउटपुट प्रदर्शित करेगा।
एक अपडेट क्वेरी चला रहा है
चरण 1: में निम्नलिखित कोड खंड जोड़ें मार्गों / web.php में रिकॉर्ड अद्यतन करने के लिए फ़ाइल ट्यूटर्स तालिका जो एक है ईद बराबर है 1 ।
Route::get('/update', function(){ $tutors=DB::update('update tutors set name='Mr. Brown' where id=?',(1)); return $tutors; });
चरण 2: निम्नलिखित URL पर जाएं: http: //academy.test/update
चरण 3: डेटाबेस के साथ अद्यतन डेटा की जाँच करें।
डेटाबेस नीचे की छवि के समान आउटपुट प्रदर्शित करेगा:
डिलीट क्वेरी चला रहा हूं
चरण 1: में निम्नलिखित कोड खंड जोड़ें मार्गों / web.php में रिकॉर्ड को हटाने के लिए फ़ाइल ट्यूटर्स तालिका जो एक है ईद बराबर है 1 ।
Route::get('/delete',function(){ $tutors=DB::delete('delete from tutors where id=?',(1)); return $tutors; });
चरण 2: URL पर जाएं: http: //academy.test/delete
चरण 3: डेटाबेस के साथ हटाए गए डेटा की पुष्टि करें।
डेटाबेस नीचे की छवि के समान आउटपुट प्रदर्शित करेगा:
लारवेल एलोकेंट मॉडल
MVC वास्तुकला में, चरित्र म के लिए खड़ा है नमूना । एक मॉडल एप्लिकेशन द्वारा उपयोग किए गए डेटा को संभालता है। सभी मॉडल में संग्रहीत हैं एप्लिकेशन निर्देशिका। उपयोगकर्ता नमूना ( User.php) डिफ़ॉल्ट मॉडल है। डेटाबेस की प्रत्येक तालिका में एक समान एलोकेंट मॉडल हो सकता है। उदाहरण के लिए, ट्यूटर मॉडल डेटा संग्रहीत करता है ट्यूटर्स तालिका।
ध्यान दें: वर्ग का बहुवचन नाम तालिका नाम के रूप में उपयोग किया जाएगा जब तक कि अन्यथा निर्दिष्ट न हो।
एक आदर्श मॉडल बनाना
नाम का मॉडल बनाने के लिए कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ शिक्षक ।
php artisan make:model Tutor
यह कमांड एक फाइल बनाएगी जिसका नाम है ट्यूटर। एफपीपी में एप्लिकेशन निर्देशिका।
उपरोक्त कमांड के बजाय, आप कमांड प्रॉम्प्ट को चलाने के लिए कमांड प्रॉम्प्ट में चला सकते हैं डेटाबेस माइग्रेशन मॉडल बनाते समय।
php artisan make:modelTutor --migration
या
php artisan make:modelTutor -m
उपरोक्त दोनों कमांड समान आउटपुट प्रदान करेंगे।
डेटा डालें
चरण 1: में निम्नलिखित कोड खंड जोड़ें मार्गों / web.php करने के लिए एक नया रिकॉर्ड डालने के लिए फ़ाइल ट्यूटर्स तालिका।
डाउनलोड करने के बाद धार फ़ाइलों का उपयोग कैसे करें
Route::get('/insert-data',function(){ $tutor=new Tutor; $tutor->name='Mr George'; $tutor->subject='Mathematics'; $tutor->save(); });
ध्यान दें : विशेषता रखो ” App Tutor का उपयोग करें ' में मार्गों / web.php नीचे दिखाए अनुसार।
चरण 2: निम्नलिखित URL पर जाएं: http: //academy.test/insert-data
चरण 3: डेटाबेस के साथ सम्मिलित डेटा सत्यापित करें।
डेटाबेस नीचे की छवि के समान आउटपुट प्रदर्शित करेगा:

डेटा का पता लगाएं
चरण 1: में निम्नलिखित कोड खंड जोड़ें मार्गों / web.php में रिकॉर्ड को खोजने / प्राप्त करने के लिए फ़ाइल ट्यूटर्स तालिका जो एक है ईद बराबर है दो ।
Route::get('/find-data',function(){ $tutor=Tutor::find(2); return $tutor->name; });
चरण 2: निम्नलिखित URL पर जाएं: http: //academy.test/find-data
चरण 3: ब्राउज़र निम्न छवि के समान आउटपुट प्रदर्शित करेगा:

अद्यतन आकड़ें
चरण 1: में निम्नलिखित कोड खंड जोड़ें मार्गों / web.php में रिकॉर्ड अद्यतन करने के लिए फ़ाइल ट्यूटर्स तालिका जो एक है ईद बराबर है दो ।
Route::get('/update-data',function(){ $tutor=Tutor::find(2); $tutor->name='Ms Georgina'; $tutor->subject='Computer Science'; $tutor->save(); });
या
Route::get('/update-data',function(){ Tutor::where('id',2)-> update(('name'=>'Ms Georgina','subject'=>'Computer Science')); });
चरण 2: निम्नलिखित URL पर जाएं: http: //academy.test/update-data
चरण 3: डेटाबेस के साथ अद्यतन डेटा की जाँच करें।
डेटाबेस नीचे की छवि के समान आउटपुट प्रदर्शित करेगा:

डेटा हटाएं
चरण 1: में निम्नलिखित कोड खंड जोड़ें मार्गों / web.php में रिकॉर्ड को हटाने के लिए फ़ाइल ट्यूटर्स तालिका जो एक है ईद बराबर है दो ।
Route::get('/delete-data',function(){ $tutor=Tutor::find(2); $tutor->delete(); });
चरण 2: निम्नलिखित URL पर जाएं: http: //academy.test/delete-data
चरण 3: डेटाबेस के साथ हटाए गए डेटा की पुष्टि करें।
डेटाबेस नीचे की छवि के समान आउटपुट प्रदर्शित करेगा:

सॉफ्ट डिलीट डाटा
डेटाबेस से डेटा हटाने के बजाय, सॉफ्ट डिलीट नामक एक विशेषता सेट करता है हटा दिया गया मॉडल पर और डेटाबेस तालिका में डालें।
नरम हटाने को सक्षम करने के लिए निम्नलिखित विशेषता का उपयोग करें।
प्रबुद्ध डेटाबेस वाक्पटु सॉफ्टडिलेट्स
निम्न कोड खंड का उपयोग डेटा हटाने के लिए किया जा सकता है।
Route::get('/soft-delete-data',function(){ Tutor::find(1)->delete(); });
सॉफ्ट डिलीट डाटा प्राप्त करें
धराशायी () विधि का उपयोग किया जा सकता है सॉफ्ट डिलीट डेटा प्राप्त करें नीचे दिखाए गए रूप में।
कैसे एडोब फ़्लैश प्लेयर के साथ swf खोलने के लिए
Route::get('/read-soft-delete-data',function(){ $tutor=Tutor::withTrashed()->where('id',1)->get(); return $tutor; });
सॉफ्ट डिलीट डाटा को रिस्टोर करें
पुनर्स्थापित करें () विधि का उपयोग किया जा सकता है नरम डेटा को पुनर्स्थापित करें नीचे दिखाए गए रूप में।
Route::get('/restore-data',function(){ Tutor::withTrashed()->where('id',1)->restore(); });
डेटा को स्थायी रूप से हटाएं
ForceDelete () विधि का उपयोग किया जा सकता है डेटा को स्थायी रूप से हटाएं नीचे दिखाए गए रूप में।
Route::get('/force-delete-data',function(){ Tutor::onlyTrashed()->forceDelete(); });
लारवेल एलोकेंट रिलेशनशिप
एक स्पष्ट संबंध डेटाबेस तालिकाओं को आसानी से लिंक करने में मदद करता है।
स्पष्ट संबंध प्रकार
निम्नलिखित सूची विभिन्न प्रकार के वाक् संबंधों को दर्शाती है:
- एक-से-एक का रिश्ता
- एक से कई रिश्ते
- कई-कई रिश्ते
- है-वन-थ्रू रिलेशनशिप
- है-कई-के माध्यम से संबंध
- एक-से-एक (बहुरूपी) संबंध
- एक से कई (बहुरूपी) संबंध
- कई-से-कई (बहुरूपी) संबंध
# 1) एक-से-एक रिश्ता
विवरण: यह विभिन्न तालिकाओं के स्तंभों के बीच एक-से-एक संबंध है।
एक-से-एक संबंध उदाहरण:
hasOne('AppBook); } }
एक-से-एक संबंध (उलटा) उदाहरण:
belongsTo('App Author); } }
# 2) एक-से-कई रिश्ते
विवरण: इस प्रकार के संबंधों में, एक मॉडल किसी भी अन्य मॉडल का मालिक है।
एक से कई संबंध उदाहरण:
hasMany('AppReview'); } }
एक से कई संबंध (उलटा) उदाहरण:
belongsTo('AppTutorial'); } }
# 3) कई-कई रिश्ते
विवरण: यह एक-से-एक और कई-कई रिश्तों की तुलना में अधिक जटिल संबंध है, और आपको इस तरह के रिश्ते को परिभाषित करने के लिए एक धुरी तालिका बनाने की आवश्यकता है।
कई-कई रिश्ते उदाहरण:
belongsToMany('AppBook); } }
कई-से-कई (उलटा) संबंध उदाहरण:
belongsToMany('AppAuthor); } }
# 4) हैस-वन-थ्रू रिलेशनशिप
विवरण: यह एकल मध्यवर्ती संबंध के माध्यम से मॉडल को जोड़ता है।
संबंध-उदाहरण के माध्यम से:
hasOneThrough('AppOwner', 'AppCar'); } }
# 5) हस-कई-रिलेशनशिप
विवरण: यह एक आसान विधि में दूर या मध्यवर्ती संबंधों तक पहुंच की अनुमति देता है।
संबंध-उदाहरण के माध्यम से कई:
hasManyThrough('AppBook, 'AppAuthor); } }
# 6) एक-से-एक (बहुरूपी) संबंध
विवरण: यह एक-से-एक संबंध के समान है, लेकिन लक्ष्य मॉडल एक एकल संघ पर एक से अधिक मॉडल प्रकार से संबंधित हो सकता है।
एक-से-एक (बहुरूपी) संबंध उदाहरण:
morphTo(); } } class Article extends Model { /** * Get the article's image. */ public function image() { return $this->morphOne('AppImage', 'imageable'); } } class Author extends Model { /** * Get the author's image. */ public function image() { return $this->morphOne('AppImage', 'imageable'); }
# 7) एक-से-कई (बहुरूपी) संबंध
विवरण: यह एक-से-कई संबंधों के समान है, लेकिन लक्ष्य मॉडल एक एकल संघ पर एक से अधिक मॉडल प्रकार से संबंधित हो सकता है।
एक से कई (बहुरूपी) संबंध उदाहरण:
morphTo(); } } class Article extends Model { /** * Get all of the article's comments. */ public function comments() { return $this->morphMany('AppComment', 'commentable'); } } class Audio extends Model { /** * Get all of the audio’s comments. */ public function comments() { return $this->morphMany('AppComment', 'commentable'); } }
# 8) कई-से-कई (बहुरूपी) संबंध
विवरण: इस प्रकार के संबंधों में, लक्ष्य मॉडल में अद्वितीय रिकॉर्ड होते हैं जो अन्य मॉडलों के बीच साझा कर सकते हैं।
कई-से-कई (बहुरूपी) संबंध उदाहरण:
morphToMany('AppComment, commentable); } }
लारवेल शिल्पकार
पिछले ट्यूटोरियल में, हमने सीखा है शिल्पकार एक है कमांड लाइन इंटरफेस () सीएलआई ) है।
कारीगर कमांड करता है
सभी उपलब्ध को देखने के लिए कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ कारीगर आज्ञा देता है ।
php artisan
निम्न स्क्रीनशॉट उपरोक्त कमांड का आउटपुट दिखाता है।

निम्न तालिका कुछ महत्वपूर्ण कारीगरों के आदेशों को उनकी संबंधित कार्यक्षमता के साथ दिखाती है, जो उपरोक्त कमांड (php कारीगर) के आउटपुट से लिए गए हैं।
आदेश कार्यक्षमता कैश: स्पष्ट एप्लिकेशन कैश फ्लश करें मदद आदेश के लिए मदद प्रदर्शित करता है सूची आदेशों को सूचीबद्ध करता है विस्थापित डेटाबेस माइग्रेशन चलाएँ परीक्षा एप्लिकेशन टेस्ट चलाएं टिन से मढ़नेवाला अपने आवेदन के साथ बातचीत ऑर्ट: स्पष्ट-रीसेट फ्लश समाप्त पासवर्ड रीसेट टोकन डीबी: बीज रिकॉर्ड के साथ डेटाबेस बीज घटना सूची आवेदन की घटनाओं और श्रोताओं की सूची बनाएं कुंजी: उत्पन्न एप्लिकेशन कुंजी सेट करें मेक: चैनल एक नया चैनल वर्ग बनाएँ बनाना: घटक एक नया दृश्य घटक वर्ग बनाएँ बनाने: नियंत्रक एक नया नियंत्रक वर्ग बनाएँ बनाओ: घटना एक नया इवेंट क्लास बनाएं बनाना: फैक्टरी एक नया मॉडल कारखाना बनाएँ बनाना: श्रोता एक नया ईवेंट श्रोता वर्ग बनाएं बनाना: मेल एक नया ईमेल वर्ग बनाएँ बनाना: मिडलवेयर एक नया मिडलवेयर क्लास बनाएं बनाओ: प्रवास एक नई माइग्रेशन फ़ाइल बनाएँ आकृति बनाओ एक नया वाक्पटु मॉडल वर्ग बनाएँ बनाओ: अधिसूचना एक नई अधिसूचना वर्ग बनाएं बनाना: पर्यवेक्षक एक नया पर्यवेक्षक वर्ग बनाएँ बनाना: नीति एक नई नीति वर्ग बनाएँ बनाना: प्रदाता एक नया सेवा प्रदाता वर्ग बनाएँ बनाना: संसाधन एक नया संसाधन बनाएँ बनाना: बीज बोना एक नया बीजक वर्ग बनाएँ बनाओ: परीक्षण एक नया टेस्ट क्लास बनाएं पलायन: ताजा सभी तालिकाएँ गिराएँ और सभी माइग्रेशनों को पुनः चलाएँ माइग्रेट: ताज़ा करें सभी माइग्रेशन को रीसेट और फिर से चलाएं माइग्रेट: रीसेट करें रोलबैक सभी डेटाबेस माइग्रेशन माइग्रेट: रोलबैक अंतिम डेटाबेस माइग्रेशन को रोलबैक करें सूचनाएं: तालिका सूचना तालिका के लिए एक माइग्रेशन बनाएं मार्ग: सूची सभी पंजीकृत मार्गों की सूची बनाएं भंडारण: लिंक एप्लिकेशन के लिए कॉन्फ़िगर किए गए प्रतीकात्मक लिंक बनाएं
लारवेल टिंकर
टिंकर एक REPL (READ-EVAL-PRINT-LOOP) है जो आपको कमांड-लाइन पर एप्लिकेशन के साथ बातचीत करने की अनुमति देता है। टिन से मढ़नेवाला मार्गों के पंजीकरण के बिना डेटाबेस के साथ सहभागिता करता है।
कारीगर के साथ टिंकर का उपयोग, और यह डिफ़ॉल्ट रूप से शामिल है।
टिंकर पर्यावरण को सक्षम करना
टिंकर वातावरण को सक्षम करने के लिए कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ।
php artisan tinker
निम्न स्क्रीनशॉट उपरोक्त कमांड का आउटपुट दिखाता है।

टिंकर के साथ डेटा डालें
एक नया रिकॉर्ड सम्मिलित करने के लिए कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ उपयोगकर्ताओं तालिका।
$user = new AppUser; $user->name = 'User A'; $user->email = 'usera@user.com'; $user->password = 'user123'; $user->save();
डेटाबेस निम्न स्क्रीनशॉट के समान आउटपुट प्रदर्शित करेगा।

टिंकर के साथ डेटा का पता लगाएं
जो कमांड आ रहा है, उसे खोजने / पुनः प्राप्त करने के लिए कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ ईद के बराबर दो में उपयोगकर्ताओं तालिका।
$user = AppUser::find(2);
कमांड प्रॉम्प्ट निम्न स्क्रीनशॉट के समान आउटपुट प्रदर्शित करेगा।

टिंकर के साथ डेटा अपडेट करें
कमांड प्रॉम्प्ट पर कमांड को चलाने के लिए निम्नलिखित कमांड को अपडेट करें जो एक है ईद के बराबर दो में उपयोगकर्ताओं तालिका।
$user = AppUser::find(2); $user->name = 'User B'; $user->email = 'userb@user.com'; $user->save();
डेटाबेस निम्न स्क्रीनशॉट के समान आउटपुट प्रदर्शित करेगा।

टिंकर के साथ डेटा हटाएं
जो कमांड है उसे हटाने के लिए कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ ईद के बराबर दो में उपयोगकर्ताओं तालिका।
$user = AppUser::find(2); $user->delete();
डेटाबेस निम्न स्क्रीनशॉट के समान आउटपुट प्रदर्शित करेगा।

निष्कर्ष
लारावेल फ्रेमवर्क कच्चे एसक्यूएल, धाराप्रवाह क्वेरी बिल्डर और एलोक्वेंट ओआरएम का उपयोग करने वाले डेटाबेस के साथ बातचीत करता है। एक मॉडल एप्लिकेशन द्वारा उपयोग किए गए डेटा को संभालता है। एक स्पष्ट संबंध डेटाबेस तालिकाओं को आसानी से लिंक करने में मदद करता है।
माइग्रेशन एक विशेष सुविधा है जिसका उपयोग डेटाबेस टेबल बनाने के लिए किया जाता है। सीडिंग का उपयोग डेटाबेस में परीक्षण डेटा सम्मिलित करने के लिए किया जाता है जो डेवलपर के लिए बहुत उपयोगी होता है क्योंकि डेवलपर को एप्लिकेशन का विकास करने के लिए डेटा की आवश्यकता होती है। टिंकर मार्गों को पंजीकृत किए बिना एक डेटाबेस के साथ बातचीत करता है।
हमें उम्मीद है कि आपको यह ट्यूटोरियल उपयोगी लगा होगा! अगले ट्यूटोरियल में हम फॉर्म, फाइल अपलोडिंग, ऑथेंटिकेशन, ईमेल भेजने, सेशन आदि पर चर्चा करेंगे।
खुश सीखने!
<< PREV Tutorial | अगला ट्यूटोरियल >>
अनुशंसित पाठ
- लारवेल कलेक्शन और लारवेल फोर्ज ट्यूटोरियल
- उदाहरण के साथ लारवेल फॉर्म और सत्यापन नियम
- लारवेल सत्र, फ़ाइल अपलोड / डाउनलोड और अनुमतियाँ
- शुरुआती के लिए PHP लारवेल ट्यूटोरियल: लारावेल फ्रेमवर्क क्या है
- MongoDB डेटाबेस बैकअप बनाएँ
- डेटाबेस परीक्षण JMeter के साथ
- Oracle डाटाबेस ट्यूटोरियल - Oracle डाटाबेस क्या है?
- शीर्ष 10 डेटाबेस डिज़ाइन उपकरण जटिल डेटा मॉडल बनाने के लिए