สอน Codeigniter การใช้งาน Model
ส่วนของ model ใน php codeigniter คือส่วนของการจัดการและติดต่อกับระบบฐานข้อมูล
คำสั่งและ method ต่าง ๆ ที่ใช้สำหรับติดต่อกับฐานข้อมูลจะถูกสร้างไว้ในส่วนของ model
และถูกเรียกใช้ใน controller หรือที่อื่น ( แต่โดยปกติจะใช้งานใน controller )
หัวข้อที่เกี่ยวข้อง
– ดาวน์โหลดและติดตั้ง codeigniter
– ตัด index.php ออกจาก URL
– การรับส่งค่าระหว่าง view และ controller
กฏเกณฑ์การสร้าง Model
– อักษรตัวแรกเป็นตัวพิมพ์ใหญ่
– ทุกคลาสต้อง extends CI_Model
– คลาสไฟล์ต้องอยู่ใน application/models
เปิดการเชื่อมต่อฐานข้อมูลก่อนสร้าง Model
– ไปที่ application/config/database.php กำหนดค่าให้ตรงกับ host ที่เราใช้งาน
'hostname' => 'localhost', 'username' => 'ชื่อผู้ใช้', 'password' => 'รหัสผ่าน', 'database' => 'ชื่อฐานข้อมูล',
– ไปที่ application/config/autoload.php เปิดใช้งาน database library
$autoload['libraries'] = array('database');
ตัวอย่าง Model Class และ Method
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Model_template extends CI_Model { // คลาส Model_template สืบทอดคุณสมบัติของ CI_Model public function getAllTemplate() // สร้าง Method ชื่อว่า getAllTemplate { $query = $this->db->query('SELECT * FROM application_template'); if($query->num_rows() > 0 ) { return $query->result(); } else { return array(); } } }
การโหลด Model class ไปใช้งานใน Controller
– ใช้งานแบบ autoload ให้ไปที่ application/config/autoload.php
$autoload['model'] = array('Model_template'); // เปิดใช้งาน model แบบออโต้
ถ้ามีหลาย Model ที่ต้องการใช้งาน ก็สามารถเพิ่มเข้าไปในลักษณะแบบนี้ครับ
$autoload['model'] = array('Model_template','Model_product','Model_cart'); //เปิดใช้งานหลาย model
– ใช้งานแบบโหลดแต่ละโมเดลเข้าไปใน Controller โดยไม่ใช้ autoload
load->model('model_template'); // โหลดโมเดล model_template } }
วิธีเรียกใช้งานเมธอดของ Model ใน Controller
$template = $this->model_template->getAllTemplate();
สุดท้ายแล้วเราจะได้หน้าตาของคลาส Template ในลักษณะนี้
load->model('model_template'); // โหลดโมเดล model_template } public function index() { $template = $this->model_template->getAllTemplate(); // เรียกใช้เมธอด getAllTemplate print_r($template); // ดูข้อมูล array จากฐานข้อมูลโดยใช้คำสั่ง print_r } }
วิธีเรียกใช้งานเมธอดของ Model ใน View
$CI =& get_instance(); // เรียนคุณสมบัติต่าง ๆ ของ CI และ assign ให้กับตัวแปร $CI $template = $CI->model_template->getAllTemplate(); // เรียกใช้เมธอด getAllTemplate print_r($template); // ดูข้อมูล array จากฐานข้อมูลโดยใช้คำสั่ง print_r
หัวข้อที่เกี่ยวข้อง
– ดาวน์โหลดและติดตั้ง codeigniter
– ตัด index.php ออกจาก URL
– การรับส่งค่าระหว่าง view และ controller