PlusMagi's Blog By Pitt Phunsanit Backend,Database สร้าง backend ใน laravel 5

สร้าง backend ใน laravel 5

การสร้างระบบ Backend ที่มีประสิทธิภาพจำเป็นต้องอาศัยการทำงานร่วมกันระหว่าง Framework ที่แข็งแกร่งและระบบจัดการฐานข้อมูลที่เชื่อถือได้ ในบทความนี้ เราจะพาคุณไปดูขั้นตอนการสร้าง Backend ด้วย Laravel 5 โดยเน้นการเชื่อมต่อและใช้ศักยภาพของ PostgreSQL ซึ่งเป็นฐานข้อมูลที่ทรงพลังและรองรับคุณสมบัติขั้นสูงได้อย่างยอดเยี่ยม

1. การตั้งค่าสภาพแวดล้อม (Setup)

ก่อนเริ่มต้น เราต้องมั่นใจว่าได้ติดตั้ง Laravel 5 และตั้งค่าการเชื่อมต่อฐานข้อมูลให้เป็น PostgreSQL อย่างถูกต้อง โดยการกำหนดค่าในไฟล์ .env คือขั้นตอนแรกที่สำคัญ

HTML

DB_CONNECTION=pgsql</code>
<code>DB_HOST=localhost</code>
<code>DB_PORT=5432</code>
<code>DB_DATABASE=your_database_name</code>
<code>DB_USERNAME=your_user</code>
<code>DB_PASSWORD=your_password</code>

2. การสร้าง Controller และ Route

เราจะสร้าง Controller สำหรับจัดการ Logic ของ Backend และกำหนด Route เพื่อให้สามารถเข้าถึง Controller นั้นได้ ตัวอย่างเช่น การสร้าง AdminController

A. สร้าง Controller

ใช้คำสั่ง Artisan เพื่อสร้าง Controller:

BASH / Shell

php artisan make:controller AdminController

B. กำหนด Route

เพิ่ม Route ในไฟล์ app/http/routes.php:

PHP

Route::get('admin/data', 'AdminController@showData');

3. การโต้ตอบกับ PostgreSQL ใน Laravel

จุดเด่นของการใช้ PostgreSQL คือการรองรับข้อมูลประเภทซับซ้อน เช่น JSONB และ Array ซึ่งเราสามารถดึงมาใช้ใน Laravel ได้ผ่านการ Query ที่เป็นภาษา SQL โดยตรง ในตัวอย่างนี้ เราจะสาธิตการดึงข้อมูลจากคอลัมน์ jsonb ที่เก็บข้อมูลหลายประเภท

ในไฟล์ app/http/controllers/AdminController.php ให้เพิ่มเมธอด showData():

PHP

use Illuminate\Support\Facades\DB;\n\nclass AdminController extends Controller {\n    public function showData() {\n        // ใช้ raw query เพื่อดึงข้อมูลที่ต้องใช้ฟังก์ชันเฉพาะของ PostgreSQL\n        $results = DB::select("SELECT id, name, data_jsonb->>'status' AS status FROM products WHERE id = ?", [1]);\n        return view('admin.data', compact('results'));\n    }\n}

ตัวอย่าง PostgreSQL Raw Query

หากต้องการ Query ข้อมูลที่ซับซ้อนกว่าการดึงค่าธรรมดา เช่น การหาค่าเฉลี่ยของข้อมูลที่อยู่ใน Array หรือการใช้ฟังก์ชัน jsonb เราสามารถเขียน SQL โดยตรงได้:

SQL

-- ตัวอย่างการ Query ข้อมูลจากคอลัมน์ jsonb\nSELECT id, name, (data_jsonb->'tags') AS tags_array FROM products WHERE id = 1;

การใช้ DB::select() ใน Laravel จะช่วยให้เราสามารถรันคำสั่ง SQL ที่มีไวยากรณ์เฉพาะของ PostgreSQL ได้อย่างปลอดภัย ทำให้ Backend ของคุณมีประสิทธิภาพสูงและรองรับข้อมูลที่ซับซ้อนได้อย่างสมบูรณ์

บทสรุป

การสร้าง Backend ด้วย Laravel 5 และใช้ PostgreSQL เป็นการผสมผสานที่ลงตัวระหว่างความรวดเร็วในการพัฒนาของ PHP Framework และความเสถียรของฐานข้อมูลระดับองค์กร ด้วยการทำความเข้าใจวิธีการใช้ Raw Query และฟังก์ชันเฉพาะของ PostgreSQL คุณจะสามารถสร้างระบบ Backend ที่มีความยืดหยุ่นและรองรับการขยายตัวในอนาคตได้อย่างไร้รอยต่อ