PHP CI CRUD模型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP CI CRUD模型相关的知识,希望对你有一定的参考价值。

<?php

	/**
 	 * CRUD Model
 	 * @author		Joshua Kendall <josh@doesthismakesense.org>
 	 * @package		Models
 	 * @date		01/10/2009
 	 * @revision		3
 	 * @access		public
 	 * @desc		CRUD Model for CI sites
 	 * @doc			http://doesthismakesense.org/projects/crud/
 	 */
	class crud_model extends Model
	{ 

		/**
		 * Constructor Method
		 *
		 */
		public function __construct()
		{
			parent::__construct();
		}

		/**
		 * Create
		 * @param $table
		 * @param $data
		 * @param $sql_modifiers
		 * @return
		 */
		public function create($table, $data = array(), $sql_modifiers = array())
		{
			foreach($sql_modifiers as $modifier)
			{
				if(!isset($modifier[2]))
				{
					$this->db->$modifier[0]($modifier[1]);
				} else {
					if(!isset($modifier[3]))
					{
						$this->db->$modifier[0]($modifier[1], $modifier[2]);
					} else {
						$this->db->$modifier[0]($modifier[1], $modifier[2], $modifier[3]);
					}
				}
			}
			$query = $this->db->insert($table, $data);
			return;
		}

		/**
		 * Read
		 * @param $table
		 * @param $sql_modifiers
		 * @return Object
		 */
		public function read($table, $sql_modifiers = array())
		{
			foreach($sql_modifiers as $modifier)
			{
				if(!isset($modifier[2]))
				{
					$this->db->$modifier[0]($modifier[1]);
				} else {
					if(!isset($modifier[3]))
					{
						$this->db->$modifier[0]($modifier[1], $modifier[2]);
					} else {
						$this->db->$modifier[0]($modifier[1], $modifier[2], $modifier[3]);
					}
				}
			}
			$query = $this->db->get($table);
			return $query->result();
		}

		/**
		 * Update
		 * @param $table
		 * @param $data
		 * @param $sql_modifiers
		 * @return
		 */
		public function update($table, $data = array(), $sql_modifiers = array())
		{
			foreach($sql_modifiers as $modifier)
			{
				if(!isset($modifier[2]))
				{
					$this->db->$modifier[0]($modifier[1]);
				} else {
					if(!isset($modifier[3]))
					{
						$this->db->$modifier[0]($modifier[1], $modifier[2]);
					} else {
						$this->db->$modifier[0]($modifier[1], $modifier[2], $modifier[3]);
					}
				}
			}
			$query = $this->db->update($table, $data);
		}

		/**
		 * Delete
		 * @param $table
		 * @param $params
		 * @param $sql_modifiers
		 * @return
		 */
		public function delete($table, $sql_modifiers = array())
		{
			foreach($sql_modifiers as $modifier)
			{
				if(!isset($modifier[2]))
				{
					$this->db->$modifier[0]($modifier[1]);
				} else {
					if(!isset($modifier[3]))
					{
						$this->db->$modifier[0]($modifier[1], $modifier[2]);
					} else {
						$this->db->$modifier[0]($modifier[1], $modifier[2], $modifier[3]);
					}
				}
			}
			$query = $this->db->delete($table);
		}

		/**
		 * Execute SQL File
		 * @param $file_name
		 * @return
		 */
		public function execute_sql_file($file_name)
		{
			$file = file($file_name);
			foreach($file as $query)
			{
				$result = $this->db->query($query);
			}
			return;
		}

	}

以上是关于PHP CI CRUD模型的主要内容,如果未能解决你的问题,请参考以下文章

CI CRUD模型-连接示例

ci公共模型类

PHP codeigniter标准crud模型

php CI3梅勒模型

php CI3 App模型

PHP CI样本模型/控制器结构