اذهب إلى المحتوى

السؤال

نشر

هل أستطيع أن أبني مشروع لارافيل Laravel جديد وأستعمل أحد قواعد بيانات NoSQL مثل mongoDB على سبيل المثال بدلًا من قواعد بيانات SQL الإعتيادية؟

وكيف يتم هذا الأمر إن كان ممكنًا بما أن طريقة الإتصال بقاعدة البيانات مختلفة؟

Recommended Posts

  • 1
نشر

بالطبع يمكن. فآداء لارافيل مع قاعدة بيانات NoSQL شيء خرافي حقا. يتم الاستعمال عادة مع اعدادها بوساطة بيئات تطوير مثل Homestead. يوجد خيار mongodb يقبل قيمة بوليانية في ملف اعداد homestead مثلا.

اما استعمالها بشكل منفصل فيكون بوساطة حزم composer توفر هاته الوظيفية (أظنها افضل). توجد مثلا حزمة jenssegers/mongodb. حيث تضيف هذه الحزمة وظائف إلى نموذج Eloquent ومنشئ لاستعلامات لـ MongoDB باستخدام واجهة التطبيق البرمجية للارافيل. وتستعمل نفس الوظائف بالضبط تماما. أي انك بعد عملية الضبط واعداد الاتصال الا التعامل مع Laravel Eloquent بشكل كلي.

تثبت عن طريق تنفيذ الامر:

composer require jenssegers/mongodb

ويتم اعداد الاتصال في مصفوفة connections في ملف الاعداد database.php كـ:

'connections' => [
  'mongodb' => [
    'driver' => 'mongodb',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', 27017),
    'database' => env('DB_DATABASE', 'homestead'),
    'username' => env('DB_USERNAME', 'homestead'),
    'password' => env('DB_PASSWORD', 'secret'),
    'options' => [

        'database' => env('DB_AUTHENTICATION_DATABASE', 'admin'), // required with Mongo 3+
    ],
  ],

في الاستعمال، يجب وراثة صنف النموذج الاساسي للحزمة:

use Jenssegers\Mongodb\Eloquent\Model;

class Book extends Model
{
    //
}

ثم يمكنك البدء باستعمالها بشكل عادي تماما.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...