1

我正在学习 NotORM 来为学校制作一个简单的系统。我希望能够将“承诺”授予“学生”。这是我的数据结构:

我的桌子:

学生

  • -studentid (PK) -firstname -surname -dateofbirth -vmg -yeargroup

关联

  • -linkid (PK) -studentid (FK) -pledgeid (FK) -timeofaward

承诺

  • -pledgeid (PK) -pledgename -pledgeinfo

来自伟大的 NotORM 教程 ( http://www.sitepoint.com/database-interaction-made-easy-with-notorm/ ) 的代码说我应该这样做:

<?php
foreach ($books as $book) {
echo "<tr>";
echo "<td>" . $book["title"] . "</td>";
echo "<td>" . $book["author"] . "</td>";
// book_category table joins book and category
$categories = array();
foreach ($book->book_category() as $book_category) {
    $categories[] = $book_category->category["category"];
}
echo "<td>" . join(", ", $categories) . "</td>";
echo "</tr>";
}
?>
  1. 我的数据结构是否适合使用 NotORM
  2. 我如何翻译这个例子,以便它显示学生以及他们获得了哪些奖项。- 我觉得我已经尝试了该代码的所有变体,但仍然无法让它工作。

提前谢谢了。

4

1 回答 1

2

问题的关键:从关系表(此处为链接)开始并在 NotORM 上中继以加入其他表。

看看代码有多简单:

$db->link("pledge.name", $someName)->select("student.firstname, student.lastname");
于 2014-08-21T14:14:14.660 回答