"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إنشاء اتصالات قاعدة بيانات ديناميكية في Laravel؟

كيفية إنشاء اتصالات قاعدة بيانات ديناميكية في Laravel؟

تم النشر بتاريخ 2024-11-11
تصفح:518

How to Establish Dynamic Database Connections in Laravel?

الاتصال ديناميكيًا بقواعد البيانات في Laravel

عند العمل مع تطبيقات Laravel، قد يكون من الضروري إنشاء اتصالات بقواعد بيانات متعددة ديناميكيًا. ومع ذلك، نظرًا لأن قواعد البيانات المطلوبة غير معروفة مسبقًا، فإن استخدام ملف قاعدة البيانات.php في مجلد التكوين ليس ممكنًا. تستكشف هذه المقالة طريقة إنشاء اتصال قاعدة بيانات جديد، باستخدام فئة قاعدة البيانات، في مثل هذه السيناريوهات.

إنشاء اتصال قاعدة بيانات ديناميكي

لإنشاء اتصال قاعدة بيانات جديد ديناميكيًا، يمكنك تعديل تكوين قاعدة البيانات في وقت التشغيل. يقرأ Laravel هذه الإعدادات من config/database.php، ولكن يمكن ضبطها أو تغييرها لاحقًا.

يتم تخزين إعدادات قاعدة البيانات المحملة من config/database.php في تكوين قاعدة البيانات على أنها data.connections. لتجاوز هذه الاتصالات أو تعديلها، استخدم الطريقة التالية:

Config::set("database.connections.mysql"، [ "المضيف" => "..."، "قاعدة البيانات" => "...", "اسم المستخدم" => "..."، "كلمة المرور" => "..." ]);
Config::set("database.connections.mysql", [
    "host" => "...",
    "database" => "...",
    "username" => "...",
    "password" => "..."
]);
وبالتالي، فإن أي نماذج Eloquent تستخدم اتصال mysql هذا سوف تستخدم تكوين اتصال قاعدة البيانات الجديد.

التنفيذ الموصى به

لتنفيذ الديناميكية اتصالات قاعدة البيانات بشكل فعال، فكر في استخدام مزود الخدمة. يمكّنك هذا من مركزية منطق الاتصال وتسهيل الوصول إليه عبر التطبيق الخاص بك.

بيان الافراج تم نشر هذه المقالة في: 1729152016 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3