लारवेल का क्वेरी बिल्डर PHP में SQL क्वेरी बनाने के लिए एक शक्तिशाली, धाराप्रवाह इंटरफ़ेस प्रदान करता है। यह आपको अधिकांश जटिलता को दूर करते हुए एक अभिव्यंजक, SQL-जैसे सिंटैक्स में डेटाबेस के साथ बातचीत करने की अनुमति देता है।
हम डेटा को चुनने, डालने, अपडेट करने और हटाने जैसे विभिन्न कार्यों के लिए क्वेरी बिल्डर का उपयोग करके लारवेल एप्लिकेशन में एक विशिष्ट उपयोग के मामले पर चलेंगे।
यदि आपके पास लारवेल प्रोजेक्ट नहीं है, तो आप निम्नानुसार एक सेट अप कर सकते हैं:
composer create-project --prefer-dist laravel/laravel laravel-query-builder cd laravel-query-builder php artisan serve
सुनिश्चित करें कि आपने .env फ़ाइल में अपना डेटाबेस कॉन्फ़िगरेशन सेट किया है:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database DB_USERNAME=your_username DB_PASSWORD=your_password
डिफ़ॉल्ट तालिकाएँ बनाने के लिए माइग्रेशन चलाएँ:
php artisan migrate
आइए क्वेरी बिल्डर के उपयोग को प्रदर्शित करने के लिए एक नियंत्रक बनाएं:
php artisan make:controller UserController
निम्नलिखित कोड के साथ UserController.php संपादित करें:
get(); return response()->json($users); } // Insert a new user public function store(Request $request) { // Step 4: Insert a new user DB::table('users')->insert([ 'name' => $request->name, 'email' => $request->email, 'password' => bcrypt($request->password), ]); return response()->json(['message' => 'User created successfully!']); } // Update an existing user public function update(Request $request, $id) { // Step 5: Update user by ID DB::table('users') ->where('id', $id) ->update([ 'name' => $request->name, 'email' => $request->email, ]); return response()->json(['message' => 'User updated successfully!']); } // Delete a user public function destroy($id) { // Step 6: Delete user by ID DB::table('users')->where('id', $id)->delete(); return response()->json(['message' => 'User deleted successfully!']); } }
उपयोगकर्ता तालिका से सभी पंक्तियों का चयन करने के लिए क्वेरी बिल्डर का उपयोग करें:
$users = DB::table('users')->get();
उदाहरण प्रतिक्रिया:
[ { "id": 1, "name": "John Doe", "email": "[email protected]" }, { "id": 2, "name": "Jane Doe", "email": "[email protected]" } ]
क्वेरी बिल्डर का उपयोग करके एक नया उपयोगकर्ता सम्मिलित करें:
DB::table('users')->insert([ 'name' => 'Alice', 'email' => '[email protected]', 'password' => bcrypt('password123'), ]);
यह उपयोगकर्ता तालिका में एक नया उपयोगकर्ता जोड़ता है।
मौजूदा रिकॉर्ड को अपडेट करने के लिए, अपडेट() का उपयोग करें:
DB::table('users') ->where('id', 1) ->update([ 'name' => 'John Smith', 'email' => '[email protected]' ]);
यह उपयोगकर्ता को उपयोगकर्ता तालिका में आईडी 1 के साथ अद्यतन करता है।
डेटाबेस से किसी रिकॉर्ड को हटाने के लिए, delete() का उपयोग करें:
DB::table('users')->where('id', 2)->delete();
यह आईडी 2 वाले उपयोगकर्ता को हटा देता है।
आप डेटा को फ़िल्टर करने या क्वेरी में शर्तें जोड़ने के लिए अतिरिक्त तरीकों की श्रृंखला बना सकते हैं।
$users = DB::table('users') ->where('email', 'like', '%example.com%') ->orderBy('name', 'asc') ->get();
लारवेल का क्वेरी बिल्डर परिणामों को पृष्ठांकित करना आसान बनाता है।
$users = DB::table('users')->paginate(10);
यह सुनिश्चित करने के लिए डेटाबेस लेनदेन का उपयोग करें कि एकाधिक क्वेरी सफलतापूर्वक निष्पादित हो गई हैं। यदि एक क्वेरी विफल हो जाती है, तो सभी परिवर्तन वापस ले लिए जाते हैं।
DB::transaction(function () { DB::table('users')->insert([ 'name' => 'John Doe', 'email' => '[email protected]', 'password' => bcrypt('password123') ]); DB::table('orders')->insert([ 'user_id' => 1, 'order_total' => 500 ]); });
यदि आपको कच्चा SQL चलाने की आवश्यकता है, तो लारवेल का क्वेरी बिल्डर इसकी अनुमति देता है:
$users = DB::select('SELECT * FROM users WHERE id = ?', [1]);
लारवेल का क्वेरी बिल्डर आपके डेटाबेस के साथ बातचीत करने का एक शक्तिशाली और लचीला तरीका प्रदान करता है, जो अधिकांश SQL जटिलता को दूर करता है। प्रत्येक भाग को तोड़कर—पुनर्प्राप्त करना, सम्मिलित करना, अद्यतन करना, हटाना, फ़िल्टर करना, और बहुत कुछ—आप आसानी से अपने डेटाबेस इंटरैक्शन को साफ़ और व्यवस्थित तरीके से प्रबंधित कर सकते हैं।
यह उदाहरण क्वेरी बिल्डर के लिए एक बुनियादी मार्गदर्शिका प्रदान करता है। जैसे-जैसे आपका एप्लिकेशन बढ़ता है, आप एलोक्वेंट के साथ अधिक उन्नत सुविधाओं जैसे जॉइन, सबक्वेरी और उत्सुक लोडिंग का उपयोग कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3