بخش چهارم - اتصالات دیتابیس
در لاراول، مدیریت چندین اتصال به دیتابیس و استفاده از دیتابیسهای مختلف به صورت سادهای امکانپذیر است.
- چندین اتصال به دیتابیس
برای مدیریت چندین اتصال به دیتابیس فایل تنظیمات
config/database.php را باز کنید. در آرایهی connections، میتوانید چندین کانکشن مختلف تعریف کنید.مثال:
'connections' => [
'mysql' => [
// ...
],
'mysql_second' => [
// ...
],
]
در اینجا دو کانکشن مختلف با نام های mysql و mysql_second را پیکربندی می کنیم.
——————
- استفاده از چندین کانکشن در کد
پس از تعریف کانکشنها در فایل تنظیمات، میتوانید به صورت زیر از آنها استفاده کنید:
// connect to 'mysql'
$data = DB::connection('mysql')->select('SELECT * FROM users');
// connect to 'mysql_second'
$data = DB::connection('mysql_second')->select('SELECT * FROM products');
// In migrations
public function up()
{
Schema::connection('mysql_second')->create('products', function (Blueprint $table) {
// ...
});
}
همچنین در یک مدل خاص میتوانید کانکشن را مشخص کنید:
class Product extends Model
{
protected $connection = 'mysql_second';
}
——————
- استفاده از MongoDB
برای استفاده از MongoDB در لاراول، میتوانید از پکیج رسمی
mongodb/laravel-mongodb استفاده کنید. این پکیج توسط MongoDB نگهداری میشود و ادغام کاملی با Eloquent و سایر ویژگیهای لاراول فراهم میکند. در ادامه، مراحل نصب و پیکربندی این پکیج را توضیح میدهم:با استفاده از Composer، پکیج را به پروژه خود اضافه کنید:
composer require mongodb/laravel-mongodb
پس از نصب پکیج، باید تنظیمات مربوط به اتصال به دیتابیس MongoDB را در فایل
config/database.php اضافه کنید. در بخش connections، کانکشن mongodb را به صورت زیر تعریف کنید:'connections' => [
// others...
'mongodb' => [
'driver' => 'mongodb',
'dsn' => env('MONGODB_URI', 'mongodb://localhost:27017'),
'database' => env('MONGODB_DATABASE', 'laravel_app'),
],
],
پس از آن با کانکشن mongodb به دیتابیس mongodb خود متصل شوید.
——————
- استفاده از Redis در لاراول
لاراول به صورت داخلی از Redis پشتیبانی میکند.
تنظیمات Redis را می توانید در فایل
config/database.php بررسی کنید.در این دوره استفاده از ردیس به طور کامل بررسی نمی شود، اما تمامی متد های ردیس از فساد Redis در دسترس هستند:
use Illuminate\Support\Facades\Redis;
Redis::set('key', 'value');
$value = Redis::get('key');
#laravel #لاراول #فصل_۵
@AmirhDeveloper
.