สอน Codeigniter การใช้งาน Model

php-codeigniter-framework
php-codeigniter-framework

สอน 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