前回からの続きで、今回はModelとServiceの具体的な実装から。

参考:
本家様サイト — マニュアル:Modelについて
本家様サイト — マニュアル:データアクセスについて

今回はこんな感じのテーブルを用意しておいた。

user_currytest
tableimage

user_currytest内のデータ
tabledata

テーブルのアクセス

データベーステーブルにアクセスする際は、modelsフォルダ内にテーブル名と同じ名前のphpファイルを作成する。

models/user_currytest.php

<?php
class user_currytest extends Model
{
public function searchAll()
{
$sel = $this->select();
$rows = $sel->fetchAll();
return $rows;
}
}
?>

単純に、テーブル内のレコードをすべて取得して値を返すメソッドだけ準備した。これを、コントローラーやサービスから呼び出せばいい。

controllers/index_controller.php

<?php
class IndexController extends Controller
{
public function index()
{
$user_currytestTable = $this->model(‘user_currytest’);
$ret = $user_currytestTable->searchAll();
print_r($ret);
}
}

MVCもくそもないけど、とりあえずModelの挙動を見るために簡単なテストコードを書いてみた。
これを実行すると、結果はこんな感じ。

出力結果

こんな感じ。
検索条件や並び順を指定する場合は↓のように書いてあげるだけ。

models/user_currytest.php

public function searchAll()
{
$sel = $this->select();
       $sel->where(‘deleted is null’);
       $sel->order(‘last_login desc’);
$rows = $sel->fetchAll();
return $rows;
}

ね、簡単でしょ?
もっと詳しい内容が知りたくなったら、本家サイトの「Modelについて」、「データアクセスについて」を参照のこと。