Model в CodeIgniter классически sql запросы и Active Record

Октябрь 11th, 2011 § 2 comments § Прямая ссылка

Напомню для запамятовавших Model в парадигме MVC отвечает за работу с источником данных, обычно это MySQL и прочие реляционные БД, хотя сейчас набирают популярность NoSQL БД. Сейчас не об этом в этой заметке покажу, как работать с Model в CodeIgniter т.к. это доставило наибольшие сложности при работе с этим Фреймворком. Начнем с того что у нас есть выбор как исполнять запросы к БД в CodeIgniter первое мы можем пользоваться привычными нам запросами sql вызывая функцию query(‘some query’); Лучше изучать что либо на примере, лучше один раз увидеть чем сто раз услышать. Стоит упомянуть о конвенции, класс модели должен начинаться с большой буквы, имя файла должно соответствовать имени класса в нижнем регистре.


class Blogmodel extends CI_Model

{

public _construct()

{

parent::__construct();

}

public function get_last_entries()

{

$query = $this->db->query('SELECT *FROM posts LIMIT 10');

return $query;

}

public function get_last_post()

{

$query = $this->db->query('SELECT *FROM posts LIMIT 1');

return $query;

}

public function update_record($title,$post)

{

$sql = "INSERT INTO posts(title, post)
 VALUES (".$this->db->escape($title).", ".$this->db->escape($post).")";

 $this->db->query($sql);

 echo $this->db->affected_rows();

}

}

//...

public function SomeFunctionWhereWeUseOurModel()

{

$this->load->model('Blogmodel');

$result=$this->Blogmodel->get_last_entries();

foreach($result->result() as $row)

echo $row->title.'<br/>';

foreach($row->result_array() as $row)

echo $row['title'].'<br/>';

$result=$this->Blogmodel->get_last_post();

$title=$result->row();

echo "our last post ".$title->title;

$title=$result->row_array();

echo "our last post ".$title['title'];

}

Continue reading “Model в CodeIgniter классически sql запросы и Active Record” »

Смотреть фильмы онлайн