FuelPHP - Modeller ve Veritabanı
Model, FuelPHP web çerçevesinde önemli bir rol oynar. Uygulamanın ticari varlıklarını temsil eder. Ya müşteriler tarafından sağlanırlar ya da arka uç veritabanından alınırlar, iş kurallarına göre işlenirler ve veritabanına geri gönderilirler. Bu bölümde modeller ve arka uç sistemle nasıl etkileşim kurduklarını öğrenelim.
Bir Model Oluşturmak
FuelPHP'de model, yerleşik Model sınıfını genişleten basit bir PHP sınıfıdır. Varsayılan olarak, modellerin önüne denetleyicilere benzer Model_ eklenebilir vefuel/app/classes/model/Klasör. Temel bir çalışan modeli oluşturalım ve ilerledikçe onu geliştirelim.
fuel / app / sınıflar / model / worker.php
<?php
namespace Model;
class Model_Employee extends \Model {
public static function fetchAll() {
// Code to fetch employee from database
}
}
Bir Modele Erişim
Bir model tanımlandıktan sonra, sadece aşağıdaki gibi kontrolöre dahil edilerek herhangi bir kontrolörde serbestçe kullanılabilir.
use \Model\Employee;
class Controller_Employee extends Controller {
public function action_index() {
$employees = Employee::fetchAll();
}
}
Veritabanına Genel Bakış
FuelPHP, veritabanından veri almak için kendi veritabanı soyutlama katmanını sağlar. Hem temel hem de gelişmiş ORM tabanlı araç sağlar. Temel araç seti, DB, DBUtil ve Query_Builer tabanlı sınıflardan oluşur. Gelişmiş araç seti Orm'dur. Orm araç seti, temel araç setinden türetilmiştir ve ayrı bir paket olarak paketlenmiştir.
Veritabanı Yapılandırması
FuelPHP, veritabanı ayarlarını ana yapılandırma dosyasından ayırır ve dosya fuel/app/config/db.php. Her ortam için ayrı bir ayarı destekler. Şu anda, FuelPHP, MySQL, MySQLi ve PDO sürücülerini desteklemektedir. Örnek ayar aşağıdaki gibidir -
<?php
return array (
'development' => array (
'type' => 'mysqli',
'connection' => array (
'hostname' => 'localhost',
'port' => '3306',
'database' => 'tutorialspoint_fueldb',
'username' => 'root',
'password' => 'password',
'persistent' => false,
'compress' => false,
),
'identifier' => '`',
'table_prefix' => '',
'charset' => 'utf8',
'enable_cache' => true,
'profiling' => false,
'readonly' => false,
),
)
DB tabanlı Araç Seti
DB classuygulamadan veritabanına erişmek için en basit seçenektir. Veritabanı sorgusunu oluşturma, hedef veritabanında yürütme ve son olarak sonucu alma seçenekleri sunar. DB sınıfı aşağıdaki sınıfları ile etkileşimde ve kapsamlı bir veritabanı API sağlar.
Database_Connection - Veritabanı ile etkileşim için Singleton ve ana sınıf
Database_Query - SQL sorgusunu yürütmek ve sonucu getirmek için temel, somut sınıf
Database_Query_Builder - SQL sorgusu oluşturmak için temel, soyut sınıf
Database_Query_Builder_Join - SQL birleşimleri oluşturmak için sınıf
Database_Query_Builder_Where - SQL sorgu koşulları oluşturmak için soyut sınıf
Database_Query_Builder_Select - SQL seçme sorgusu oluşturmak için somut sınıf
Database_Query_Builder_Insert - SQL ekleme sorgusu oluşturmak için soyut sınıf
Database_Query_Builder_Update - SQL güncelleme sorgusu oluşturmak için soyut sınıf
Database_Query_Builder_Delete - SQL silme sorgusu oluşturmak için soyut sınıf
Aşağıdaki diyagram, sınıflar ve sınıflar tarafından sağlanan yöntemler arasındaki ilişkiyi gösterir.
DB API
Bu bölümde DB sınıfında bulunan en önemli yöntemleri öğrenelim.
örnek
Purpose- Yeni Database_Connection örneğini oluşturur ve döndürür .
Parameter -
$db - Yapılandırma dosyasında tanımlanan veritabanı bağlantı adı, isteğe bağlı.
Returns- Database_Connection nesnesini döndürür
Örneğin,
$db = DB::instance();
$db = DB::instance('test');
sorgu
Purpose - Sağlanan SQL ifadesini hazırlayın ve veritabanından verileri eklemek, güncellemek, silmek veya almak için kullanılabilen Database_Query nesnesini döndürür.
Parameter -
$query - SQL ifadesi yer tutucular içerebilir;
$type - SQL türü, isteğe bağlı (DB :: SELECT, DB :: INSERT, DB :: UPDATE ve DB :: DELETE)
Returns- Database_Query nesnesini döndürür
Örneğin,
$query = DB::query('SELECT * FROM 'employees'');
last_query
Purpose - Son yürütülen sorguyu almak için
Parameter - Yok
Returns - Son yürütülen sorguyu döndürür
Örneğin,
$employees = DB::Select('Select * from 'employee'');
$sql = DB::last_query();
seç
Purpose - Sorgunun seçili kısmını oluşturun
Parameter -
$columns - Veritabanı sütun adlarının listesi
Returns - Database_Query_Builder_Select nesnesini döndürür
Örneğin,
$query = DB::select(); // Select *
$query = DB::select('id', 'name'); // Select id, name
select_array (DB)
Sütunları dizi olarak gönderebilmemiz dışında select'e benzer.
$query = DB::select_array(array('id', 'name')); // Select id, name
eklemek
Purpose - Sorgunun ekleme kısmını oluşturun
Parameter -
$table_name - veritabanı tablosunun adı;
$columns - tablo sütunları dizisi
Returns - Database_Query_Builder_Insert nesnesini döndürür
Örneğin,
$query = DB::insert('employee'); // Insert into employee
$query = DB::insert('employee', array('id', 'name')); // Insert into employee (id, name)
Güncelleme
Purpose - Sorgunun güncelleme kısmını oluşturun
Parameter -
$table_name - veritabanı tablosunun adı
Returns - Database_Query_Builder_Update nesnesini döndürür
Örneğin,
$query = DB::update('employee'); // update `employee`
sil
Purpose - Sorgunun silme kısmını oluşturun
Parameter -
$table_name - veritabanı tablosunun adı
Returns - Database_Query_Builder_Delete nesnesini döndürür
Örneğin
$query = DB::delete('employee'); // delete from 'employee'
Query API
Database_Queryveritabanı bağlantısını ayarlama, sorguyu yürütme ve sonucu ilişkilendirilebilir dizi veya nesne olarak alma seçeneği sağlar. Database_Query sınıfı tarafından sağlanan yöntemleri görelim.
set_connection
Purpose - Sorguyu yürütmek için veritabanını (veritabanı bağlantı ayrıntıları) ayarlamak için
Parameter - $ db - veritabanı bağlantı adı
Returns- Database_Query nesnesini döndürür
Örneğin,
$query = DB::query('DELETE * FROM employee', DB::DELETE);
$query->set_connection('2nd-db');
param
Purpose - Sorgu nesnesinde tanımlanan parametrenin değerini ayarlamak için
Parameter -
$param - parametre adı;
$value - parametrenin değeri
Returns- Database_Query nesnesini döndürür
Örneğin,
// set some variables
$table = 'employee';
$id = 1;
$name = 'Jon';
// don't use
$query = DB::query('SELECT * FROM '.$table.'. WHERE id = '.$id.' AND name = "'.$name.'"');
// but use
$query = DB::query('SELECT * FROM :tablename WHERE id = :id AND name = :name');
$query->param('tablename', 'employee');
$query->param('id', $id);
$query->param('name', $name);
Benzer Yöntemler
parameters aynı anda birden fazla değer verme seçeneği sunması dışında benzer bir nesnedir.
$query->parameters (array(
'tablename' => $table,
'id' => $id,
'name' => $name
});
bağlamak
Purpose - Sorgu nesnesinde tanımlanan parametreye bir değişken ayarlamak için
Parameter -
$param - parametre adı
$var - parametreyi bağlayacak değişken
Returns- Database_Query nesnesini döndürür
Örneğin,
// bind a query parameter
$table = 'employee';
$query = DB::query('DELETE * FROM :tablename', DB::DELETE);
$query->bind('tablename', $table);
// update the variable
$table = 'employee_salary';
// DELETE * FROM `employee_salary`;
$sql = $query->compile();
derlemek
Purpose - SQL sorgusunda tanımlanan sorgu nesnesini derlemek için
Parameter -
$db - bağlantı dizesi, isteğe bağlı
Returns -
Örneğin,
// assign a value to a query parameter
$table = 'employee';
$query = DB::query('DELETE * FROM :tablename', DB::DELETE);
$query->param('tablename', $table);
// compile the query, returns: DELETE * FROM employee
$sql = $query->compile();
yürütmek
Purpose - Sorgu nesnesinde tanımlanan sorguyu yürütmek ve sonucu döndürmek için
Parameter -
$db - veritabanı bağlantı adı
Returns - Sonucu verir
Örneğin,
// assign a value to a query parameter
$table = 'employee';
$query = DB::query('DELETE * FROM :tablename', DB::DELETE);
$query->param('tablename', $table);
// execute the query
$query->execute();
as_assoc
Purpose - Dönüş türünü nesneler yerine ilişkilendirilebilir dizi olarak ayarlamak için
Parameter - Yok
Returns - Mevcut nesneyi döndürür
Örneğin,
$query = DB::query('SELECT * FROM employee', DB::SELECT);
$result = $query->as_assoc()->execute();
foreach ($result as $row) {
echo $row['id'];
}
as_object
Purpose - Dönüş türünü ilişkilendirilebilir dizi yerine nesne olarak ayarlamak için
Parameter - Yok
Returns - Mevcut nesneyi döndürür
Örneğin,
$query = DB::query('SELECT * FROM employee', DB::SELECT);
$result = $query->as_object()->execute();
foreach ($result as $row) {
echo $row->id;
}
// have ORM model objects return instead
$result = $query->as_object('Model_Employee')->execute();
Query Builder API
Sorgu oluşturucu (Query_Builder) tabanlı sınıflar, dinamik olarak SQL sorguları oluşturmak için seçenekler sağlar. Her biri (Query_Builder_Select) , ekleme (Query_Builder_Insert) , güncelleme (Query_Builder_Update) ve sorguları (Query_Builder_Delete) silmek için dört sınıfa sahiptir . Bu sınıflar, kendisi tüm sınıfların temeli olan Query_Builder'dan türetilen Query_Builder_Where sınıfından (koşul oluşturma seçeneği) türetilir .
Query_Builder sınıfı tarafından sağlanan yöntemlere bakalım.
seç
Purpose - Seçilen sorguların sütunlarını oluşturmak için.
Parameter -
$columns - sütun listesi, isteğe bağlı
Returns - Mevcut örneği döndürür
Örneğin,
$query = DB::select('name') // select `name`
$query = DB::select(array('first_name', 'name')) // select `first_name` as `name`
itibaren
Purpose - Seçili sorguların tablo ayrıntılarını oluşturmak için
Parameter -
$tables - tablo listesi
Returns - Mevcut örneği döndürür
Örneğin,
$query = DB::select('name')->from('employee') // select `name` from `employee`
nerede
Purpose - Seçim, ekleme ve güncelleme sorgularının koşullarını oluşturmak için
Parameters -
$column - sütun adı veya dizisi ($ sütun, $ takma ad);
$op - mantık operatörleri, =,! =, IN, BETWEEN ve LIKE, isteğe bağlı;
$value - sütun değeri
Returns - Mevcut örneği döndürür
Örneğin,
$query = DB::select('name')->from('employee')
$query = $query->where('name', '=', 'Jon');
// select `name` from `employee` where `name` = `Jon`;
Benzer Yöntemler
Benzer yöntemler where_open () ve_where_open (), or_where_open (), where_close () ve_where_close () veya_where_close () şeklindedir. Koşulların etrafına fazladan anahtar sözcükler ve parantez eklemeleri dışında where () yöntemlerine benzerler. Aşağıda örnek bir kod verilmiştir.
$query = DB::select('*')->from('employee');
$query->where('email', 'like', '%@gmail.com');
$query->or_where_open();
$query->where('name', 'Jon');
$query->and_where('surname', 'Peter');
$query->or_where_close();
// SELECT * FROM `employee` WHERE `email` LIKE "%gmail.com" OR
(`name` = "Jon" AND `surname` = "Peter")
katılmak
Purpose - Seçilen sorguların tablo birleşimlerini oluşturmak için
Parameters -
$table - tablo adı veya dizisi ($ tablo, $ takma ad);
$type - birleştirme türü (SOL, SAĞ, İÇ, vb.)
Returns - Mevcut örneği döndürür
Misal
$query = DB::select('name')->from('employee')->join('employee_salary')
// select `name` from `employee` JOIN `employee_salary`
açık
Purpose - Seçilmiş sorgularda birleştirme koşullarını oluşturmak için
Parameters -
$c1 - dizide diğer ada sahip tablo adı veya tablo adı;
$op - mantıksal operatör;
$c2 - dizide diğer ada sahip tablo adı veya tablo adı
Returns - Mevcut örneği döndürür
Örneğin,
$query = DB::select('name')->from('employee')->join('employee_salary')
$query = $query->on('employee.employee_id', '=', 'employee_salary.employee_id')
// select `name` from `employee` JOIN `employee_salary` on
// `employee.employee_id` = `employee_salary.employee_id`
Benzer Yöntemler
İlgili yöntemler and_on () ve or_on () 'dur. Birleşimlerin etrafına fazladan anahtar kelime ve köşeli parantez eklemeleri dışında on () 'a benzerler.
group_by
Purpose - Sorgulara göre grup oluşturmak için
Parameter - $columns - Sonucun gruplanacağı sütun adı
Returns - Mevcut örneği döndürür
Örneğin,
$query = DB::select('name')->from('employee')
$query = $query->group_by('name');
// select `name` from `employee` group by `name`
sahip olmak
Purpose - Grubu SQL sorgularının koşullarına göre oluşturmak için
Parameter - $column - sütun adı veya dizisi ($ sütun, $ takma ad); $op - mantık operatörleri, =,! =, IN, BETWEEN ve LIKE, isteğe bağlı; $value - sütun değeri
Returns - Mevcut örneği döndürür
Misal
$query = DB::select('name')->from('employee')
$query = $query->group_by('name');
$query = $query->having('name', '!=', 'Jon');
// select `name` from `employee` group by `name` having `name` != `Jon`
Benzer Yöntemler
Benzer yöntemler, having_open () ve_having_open () veya_having_open (), having_close () ve_having_close () veya_having_close () 'dir. Koşulların etrafına fazladan anahtar sözcükler ve parantez eklemeleri dışında () yöntemlerine sahip olmaya benzerler.
Sıfırla
Purpose - Sorguyu sıfırlamak için
Parameter - Yok
Returns - Mevcut örneği döndürür
Örneğin,
$query = DB::select('name')->from('employee')
$query->reset()
$query = DB::select('name')->from('employee_salary')
// select `name` from `employee_salary`
DBUtil sınıfı
DBUtil sınıfı, rutin veritabanı işlemlerini yönetmek ve gerçekleştirmek için bir seçenek sunar. Önemli yöntemlerden bazıları aşağıdaki gibidir -
- set_connection - Varsayılan bağlantıyı ayarlar
DBUtil::set_connection('new_database');
- create_database - Bir veritabanı oluşturur.
DBUtil::create_database('my_database');
- drop_database - Bir veritabanı bırakır.
DBUtil::drop_database('my_database');
- table_exists - Verilen bir tablonun mevcut olup olmadığını kontrol eder.
if(DBUtil::table_exists('my_table')) {
// Table exists
} else {
// Table does NOT exist, create it!
}
- drop_table - Bir tabloyu düşürür.
DBUtil::drop_table('my_table');
- create_table - Bir tablo oluşturur.
\DBUtil::create_table (
'users',
array (
'id' => array('type' => 'int', 'auto_increment' => true),
'name' => array('type' => 'text'),
),
);
Orm Araç Seti
FuelPHP, popüler olana dayalı ORM konseptini kullanarak gelişmiş veritabanı katmanı sağlar. Active record pattern. Araç seti uygulamaya dahildir ancak varsayılan olarak yapılandırılmamıştır. Paket olarak paketlenmiştir ve paket adı orm'dir. Ana konfigürasyon dosyasına aşağıdaki konfigürasyonu ekleyebiliriz,fuel/app/config/config.php orm araç setini yüklemek için.
'always_load' => array (
'packages' => array (
'orm',
),
),
Model Oluşturma
Orm, Orm \ Model temel model sınıfını sağlar. ORM özelliklerini kullanabilmek için modellerimizi orm modeli ile genişletmemiz gerekiyor. Aşağıda örnek bir kod verilmiştir.
class Model_Employee extends Orm\Model {}
Yapılandırma
Orm, modeli ORM özelliklerini kullanacak şekilde yapılandırmak için bir dizi ayar sağlar. Bunlar aşağıdaki gibidir -
connection- Bağlantı adını belirtmek için modelde statik bir _connection özelliği ayarlayın .
class Model_Employee extends Orm\Model {
protected static $_connection = "production";
}
table name- Arka uç tablosunun tablo adını belirtmek için modelde statik bir _table_name özelliği ayarlayın .
class Model_Employee extends Orm\Model {
protected static $_table_name = 'employee';
}
primary key- Arka uç tablosunun birincil anahtarını belirtmek için modelde statik bir _primary_key özelliği ayarlayın .
class Model_Employee extends Orm\Model {
protected static $_primary_key = array('id');
}
Columns- Arka uç tablosunun sütunlarını belirtmek için modelde statik bir _properties özelliği ayarlayın. Veri_türü, etiket, doğrulama, form öğeleri vb. Destekler.
class Model_Employee extends Orm\Model {
protected static $_properties = array (
'id',
'name' => array (
'data_type' => 'varchar',
'label' => 'Employee Name',
'validation' => array (
'required',
'min_length' => array(3),
'max_length' > array(80)
),
'form' => array (
'type' => 'text'
),
),
'age' => array (
'data_type' => 'int',
'label' => 'Employee Age',
'validation' => array (
'required',
),
'form' => array (
'type' => 'text'
),
),
);
}
Conditions- Koşulları ve seçeneklere göre sıralamayı ayarlamak için statik bir _conditions özelliği ayarlayın.
class Model_Employee extends Orm\Model {
protected static $_conditions = array (
'order_by' => array('id' => 'desc'),
'where' => array (
array('is_active', > true),
),
);
}
Observers- Orm , belirli olaylara davranış eklemek için gözlemci tabanlı olay sistemi sağlar. Bir davranış eklemek için, önce modelde bir _observers özelliği ayarlayın . Ardından, davranışı bir sınıf olarak tanımlayın ve olaylarla birlikte _observers özelliğinde ayarlayın . Herhangi bir olay belirtilmezse, davranış tüm olaylar için çağrılır. Birden çok davranışı da belirleyebiliriz.
class Model_Employee {
protected static $_observers = array (
'example', // will call Observer_Example class for all events
'Orm\\Observer_CreatedOn' => array (
'events' => array('before_insert'),
// will only call Orm\Observer_CreatedOn at before_insert event
)
);
}
Oluşturmak
Modeli yapılandırdıktan sonra, yöntemleri hemen kullanmaya başlayabiliriz. Orm , nesneyi veritabanına kaydetmek için bir kaydetme yöntemi sağlar . Verileri yapılandırılmış özellikleri kullanarak aşağıdaki gibi ayarlayabiliriz -
// option 1
$new = new Model_Employee();
$new->name = 'Jon';
$new->save();
// option 2, use forge instead of new
$new = Model_Employee::forge();
$new->name = 'Jon';
$new->save();
// option 3, use array for properties
$props = array('name' => 'Jon');
$new = Model_Employee::forge($props);
$new>save();
Okuyun
Orm bir yöntem sağlar, verileri veritabanından almak için bulur ve nesneye bağlanır. find yöntemi, girdi parametresine bağlı olarak çalışır. Farklı seçeneklere bakalım -
by primary key - Birincil anahtarın belirtilmesi, yapılandırılmış tablonun birincil anahtarıyla eşleşerek kaydı döndürür.
$employee = Model_Employee::find(1);
first / last record- "İlk" veya "son" u belirtmek, sırasıyla ilk kaydı veya son kaydı getirecektir. Siparişi isteğe bağlı olarak da geçebiliriz.
$entry = Model_Employee::find('first');
$entry = Model_Article::find('last', array('order_by' => 'id'));
All- "tümü" seçeneğinin belirlenmesi, yapılandırılmış tablodaki tüm kayıtları getirecektir. Koşulların yanı sıra seçeneğe göre sipariş belirleyebiliriz.
$entry = Model_Employee::find('all');
$entry = Model_Article::find ('all', array (
'where' => array (
array ('name', 'Jon'),
),
'order_by' => array ('id' => 'desc'),
));
Gelişmiş arama seçeneği için model ile birlikte temel veritabanı araç setinin Query API'sini aşağıdaki gibi kullanabiliriz.
$query = Model_Employee::query()->where('category_id', 1)->order_by('date', 'desc');
$number_of_employees = $query->count();
$latest_employee = $query->max('id');
$young_employee = $query->min('age');
$newest_employee = $query->get_one();
$employees = $query->limit(15)->get();
Güncelleme
Modelin güncellenmesi, oluşturma ile aynıdır, ancak yeni bir model oluşturmak yerine, güncellenecek modeli bul yöntemini kullanarak getirin, özelliği güncelleyin ve ardından aşağıdaki gibi kaydetme yöntemini çağırın.
$entry = Model_Employee:find(4);
$entry->name = 'Peter';
$entry->save();
Sil
Orm, modeli silmek için bir silme yöntemi sağlar. Sadece nesneyi getirin ve silme yöntemini çağırın.
$entry = Model_Employee:find(4);
$entry->delete();
Çalışma Örneği
Modeli ve veritabanını anlamak için bu bölümde çalışan bir örnek oluşturalım.
Veritabanı Oluşturun
Aşağıdaki komutu kullanarak MySQL sunucusunda yeni bir veritabanı oluşturun.
create database tutorialspoint_fueldb
Ardından, aşağıdaki komutu kullanarak veritabanının içinde bir tablo oluşturun.
create table employee(id int primary key, name varchar(20), age int not null);
Veritabanını Yapılandırın
Veritabanını veritabanı yapılandırma dosyası olan * fuel / app / config / db.php kullanarak yapılandıralım. MySQL sunucusuna bağlanmak için aşağıdaki değişiklikleri ekleyin.
<?php
return array (
'development' => array (
'type' => 'mysqli',
'connection' => array (
'hostname' => 'localhost',
'port' => '3306',
'database' => 'tutorialspoint_fueldb',
'username' => 'root',
'password' => 'pass',
'persistent' => false,
'compress' => false,
),
'identifier' => '`',
'table_prefix' => '',
'charset' => 'utf8',
'enable_cache' => true,
'profiling' => false,
'readonly' => false,
),
'production' => array (
'type' => 'mysqli',
'connection' => array (
'hostname' => 'localhost',
'port' => '3306',
'database' => 'tutorialspoint_fueldb',
'username' => 'root',
'password' => 'pass',
'persistent' => false,
'compress' => false,
),
'identifier' => '`',
'table_prefix' => '',
'charset' => 'utf8',
'enable_cache' => true,
'profiling' => false,
'readonly' => false,
),
);
ORM Paketini Dahil Et
Ana yapılandırma dosyasını güncelleyin, fuel/app/config/config.php ORM paketini aşağıdaki yapılandırmayı ekleyerek dahil etmek.
'always_load' => array (
'packages' => array (
'orm'
),
),
Şimdi, ORM uygulamanızda etkinleştirildi
Çalışan Modeli Oluşturun
Model klasörü altında yeni bir model oluşturun, Çalışan “fuel/app/classes/model”. Aşağıdaki gibi tanımlanır.
Employee.php
<?php
class Model_Employee extends Orm\Model {
protected static $_connection = 'production';
protected static $_table_name = 'employee';
protected static $_primary_key = array('id');
protected static $_properties = array (
'id',
'name' => array (
'data_type' => 'varchar',
'label' => 'Employee Name',
'form' => array (
'type' => 'text'
),
),
'age' => array (
'data_type' => 'int',
'label' => 'Employee Age',
'form' => array (
'type' => 'text'
),
),
);
}
Eylem Oluştur
Yeni eylem oluşturun, action_model Çalışan kontrolöründe fuel/app/classes/controller/employee.php aşağıdaki gibi.
class Controller_Employee extends Controller {
public function action_model() {
// db based sql command to delete all employees
$query = db::query('delete from `employee`');
$query->execute('production');
// orm based query to add new employees
$model = new model_employee();
$model->name = "john";
$model->age = 25;
$model->save();
$model = new model_employee();
$model->name = "peter";
$model->age = 20;
$model->save();
// orm based query to fetch all employee data
$data = array();
$data['emps'] = model_employee::find('all');
return response::forge(view::forge('employee/model', $data));
}
}
Görünüm Oluştur
Şimdi bir görünüm dosyası oluşturun model.php da yerleşmiş “fuel/app/views/employee”. Dosyaya aşağıdaki değişiklikleri ekleyin.
<ul>
<?php
foreach($emps as $emp) {
?>
<li><?php echo $emp['name']; ?></li>
<?php
}
?>
</ul>
Şimdi URL'yi isteyin, http://localhost:8080/employee/model ve aşağıdaki sonucu verecektir.