コハナに頭を悩ませているだけなので、間違った方向に進んでいる場合はお知らせください。
結果を出力にグループ化したい。私がバニラでこれを行った方法-PHP/PDOは、クエリを準備し、出力結果内でそれを実行することでした。でも、コハナ(3.2.2)には行けません。
この場合、「用語」ページで、「用語」を「タイプ」でグループ化し、用語の各グループを「タイプ」ヘッダーで区切ります。
私の「用語」コントローラーは(簡略化):
class Controller_Terms extends Controller {
public function action_index()
{
$view = View::factory('terms');
// types of term - for grouping terms together
$sql = 'SELECT DISTINCT Type
FROM Term';
$view->types = DB::query(Database::SELECT, $sql)->as_object()->execute();
// list of terms - executed separately for each type
$sql = 'SELECT TermId, Term
FROM Term
WHERE Type = :type';
$view->terms = DB::query(Database::SELECT, $sql)->as_object();
$this->response->body($view);
}
}
また、「用語」ビューには次のものが含まれます(簡略化)。
<? foreach ($types as $type): ?>
<h2><?= $type->Type ?></h2>
<? $params = array(':type' => $type->Type);
$terms->parameters($params)->execute();
foreach ($terms as $term): ?>
<a href="term/<?= $term->TermId ?>"><?= $term->Term ?></a>
<? endforeach // term ?>
<? endforeach // type ?>
'type'ヘッダーは問題ありませんが、各タイプ内に用語がありません。
どんな提案もありがたいです!