اتصال به دیتابیس sql server در لاراول

اتصال به دیتابیس sql server در لاراول

استفاده از sql server در لاراول یا اتصال به دیتابیس sql server در لاراول چگونه می باشد و چه نیازمندی هایی باید در سیستم موجود باشد؟

لاراول به صورت پیش فرض از دیتابیس های مختلفی پشتیبانی می کند که در سایت اصلی لیست ذیل معرفی شده است 

  • MySQL
  • PostgreSQL
  • SQLite
  • SQL Server
زمان مطالعه: 3 دقیقه
بازدید: 1866
پرسش و پاسخ: 6

ما در این مقاله فقط به بحث sql server می پردازیم. در سالیان پیش در یکی از پروژه های یک شرکت نیاز شد که از دستگاه ورود و خروج نیز به صورت آنلاین گزارش گیری شود. ولی متاسفانه این دستگاه با زبان برنامه نویسی دلفی بود و هیچگونه api برای فریم ورک لاراول و حتی زبان  php وجود نداشت. برای همین ما به صورت آنلاین باید از دیتابیس این دستگاه که روی یک سرور ویندوز 2008 وجود داشت استفاده می کردیم.

یک سری نیازمندی و زیرساخت مورد نیاز php بود که در سرور خود ما باید اضافه می شد که اگر برای ویندوز نیاز دارید می توانید از لینک ذیل استفاده کنید

loading the php sql driver

برای آموزش راه اندازی نیز از لینک ذیل استفاده کنید

How to enable MS SQL server access in php

پس از انجام تنظیمات در لینک های یاد شده شما باید connection ارتباط دیتابیس خود را فایل config/database.php ایجاد کنید این پیش فرض خود لاراول می باشد

'sqlsrv' => [
   'driver' => 'sqlsrv',
   'host' => env('DB_HOST', 'localhost'),
   'database' => env('DB_DATABASE', 'forge'),
   'username' => env('DB_USERNAME', 'forge'),
   'password' => env('DB_PASSWORD', ''),
   'charset' => 'utf8',
   'prefix' => '',
],

مثال عملی ارتباط با sql server در لاراول

'sqlsrv' => [            
'driver' => 'sqlsrv',
'host' => 'M-DC', // نام سرور در شبکه محلی : نکته برای سرور خارجی آی پی وارد شود
'database' => 'IODBR', // نام دیتابیس
'username' => 'sar', // نام کاربری
'password' => '12345678', // پسورد
'charset' => 'utf8',
'prefix' => '',
],

نکته : حتما مطمئن شوید که نام کاربری و پسورد ساخته شده شما در sql server وجود داشته باشد و از اتصال پیش فرض کاربری ویندوز در sql server استفاده نکنید.

خب تا اینجای کار ما بدون مشکل کانکشن خود را ساخته ایم الان باید از این ارتباط ساخته شده استفاده کنیم و دیتای لازم را واکشی کنیم به مثال ذیل توجه کنید

$query = DB::connection('sqlsrv')->select('select * from table1'); 
var_dump($query);

مثال دیگر از این ارتباط که عملیات آپدیت را در جدول table1 برای فیلدهای name و family به شرط برابر بودن id انجام می دهد.

DB::connection('sqlsrv')->update("update tabel1 set name='".$request->input('name')."', family='".$request->input('family')."' where id =".$id."");

مثال از حذف sql server با لاراول

DB::connection('sqlsrv')->delete("DELETE FROM table1 WHERE id=".$id."");

آموزش لاراول (laravel) دوره جامع پروژه محور ساخت فروشگاه اینترنتی

بهزاد میرزازاده
مسیر درست با پرسش های درست ساخته می شود

مشاهده تمام مطالب نویسنده