Amir Alsaeed نشر 4 مارس 2021 أرسل تقرير نشر 4 مارس 2021 أحاول استخدام Mongodb مع لارافيل في lumen على تطبيق موزّع، وقمت بتعديل ملف database.php وإضافة الاتصال مع mongodb ولكن لا يتم التعرف على الاتصال نهائياً ضمن الكود. return [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', ''), 'username' => env('DB_USERNAME', ''), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], 'mongodb' => array( 'driver' => 'mongodb', 'host' => env('MONGODB_HOST', 'localhost'), 'port' => env('MONGODB_PORT', 27017), 'username' => env('MONGODB_USERNAME', ''), 'password' => env('MONGODB_PASSWORD', ''), 'database' => env('MONGODB_DATABASE', ''), 'options' => array( 'db' => env('MONGODB_AUTHDATABASE', '') ) ), ], ]; كيف يمكنني إضافة الاتصال مع mongodb وإنشاء مودل؟ اقتباس
0 Sam Ahw نشر 4 مارس 2021 أرسل تقرير نشر 4 مارس 2021 أولاً يجب تحميل الإضافة الخاصة بـ PHP ليستطيع التعامل مع Mongodb بتعديل ملف php.ini وإضافة السطر التالي: extension=mongo.so ويكن أيضاً تحميله بشكل يدوي كالتالي: Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/mongo.so' ولمزيد من المعلومات حول ذلك يمكنك الاطلاع على الإضافة الخاصة ب mongodb في التوثيق الرسمي ل PHP. بعد ذلك، يجب التوجه إلى مجلّد المشروع الرئيسي وتنفيذ الأمر التالي: composer require jenssegers/mongodb وبعدها يجب إضافة المزوّد الخاص بها قبل تعريف Facades أو Eloquent وإلا لن تعمل بالشكل المطلوب: $app->register(Jenssegers\Mongodb\MongodbServiceProvider::class); $app->withFacades(); $app->withEloquent(); وأخيراً، يجب تحميل الإعدادات تلقائياً وقبل تعريف المسارات نظراً لأن lumen لا يقوم بالتحميل التلقائي لها: $app->configure('database'); وعندها يمكن استخدام الاتصال وتعريف المودل كالتالي: <?php namespace App; use Jenssegers\Mongodb\Model as Eloquent; class Example extends Eloquent { protected $connection = 'mongodb'; protected $collection = 'example'; protected $primaryKey = '_id'; } كما يوجد حل بديل لما سبق عن طريق تحميل المكتبة التالية: composer require nordsoftware/lumen-doctrine-mongodb-odm 1 اقتباس
السؤال
Amir Alsaeed
أحاول استخدام Mongodb مع لارافيل في lumen على تطبيق موزّع، وقمت بتعديل ملف database.php وإضافة الاتصال مع mongodb ولكن لا يتم التعرف على الاتصال نهائياً ضمن الكود.
return [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', ''), 'username' => env('DB_USERNAME', ''), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], 'mongodb' => array( 'driver' => 'mongodb', 'host' => env('MONGODB_HOST', 'localhost'), 'port' => env('MONGODB_PORT', 27017), 'username' => env('MONGODB_USERNAME', ''), 'password' => env('MONGODB_PASSWORD', ''), 'database' => env('MONGODB_DATABASE', ''), 'options' => array( 'db' => env('MONGODB_AUTHDATABASE', '') ) ), ], ];
كيف يمكنني إضافة الاتصال مع mongodb وإنشاء مودل؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.