<?php
class Model_Guestbook extends Model {
public function getRecords() {
return "Nothing to display";
}
}
Теперь нам потребуется извлечь информацию из БД (MySQL)
Для этого, нам нужно:
0) Создать таблицу db_records, с колонками
id - int auto_increment primary key
title - varchar 16
message - varchar 255
added_at - int 16
enabled - tinyint
Кодировка базы utf8
1) Проверить включен ли модуль Database в Ko3
2) Проверить существует ли конфигурационный файл для Ko3
3) Рассмотреть QueryBuilder на конкретном примере.
Итак п1:
Открываем файл bootstrap.php
Находим:
Kohana::modules
Раскоментируем строку:
'database' => MODPATH.'database', // Database access
п.2
В папке application/config создаём файл database.php
И наполняем содержанием (параметры базы настраиваем по себя):
<?php
return array
(
'default' => array
(
'type' => 'mysql',
'connection' => array(
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'persistent' => FALSE,
'database' => 'records',
),
'table_prefix' => 'db_',
'charset' => 'utf8',
'profiling' => TRUE,
),
);
?>
Возвращаемся к нашей модели:
Изменим её на вид:
<?php
class Model_Guestbook extends Model {
public function getRecords() {
return DB::select()->from("records")->execute();
}
}
Открываем наш шаблон (В папке application/views/guestbook/ открываем файл view.php)
и меняем его на:
<div>Status: <b><?=$welcome;?></b></div>
<h1>Records:</h1>
<? if(!empty($content)) : ?>
<? foreach($content as $record): ?>
<div style="margin:20px;">
<b><?=$record['title'];?></b>
<div><?=$record['message'];?></div>
</div>
<? endforeach; ?>
<? else: ?>
Not found any records in Database
<? endif; ?>
Добавляем ручками пару записей в табличку.
Проверяем, радуемся.
п.3
Ради интереса можно посмотреть, как строятся запросы в QB:
http://kohanaframework.org/3.1/guide/database/query/builder