如何获取对象列表

时间:2014-01-10 23:36:08

标签: php class oop

我有一本书的下面的课程。目前,它有一种方法可以通过ID从数据库中检索书籍。显然,可以添加其他方法来删除书籍,保存新书等等。

class Book {

Public $id
public $name;
public $price;
public $isbn;

public function getBook($id) {

    $sql = 'SELECT id, name, price, isbn FROM book WHERE id = ' . (int) $id;

    $row = /* DB functions here to get a matching row */

    $this->name = $row['name'];
    $this->price = $row['price'];
    $this->isbn = $row['isbn'];
    return TRUE;
}
}

这是我的问题,而且我从来没有能够深入到底。如何获得所有书籍的列表,或所有以字母“A”开头的书籍?

澄清我知道如何查询数据库并循环遍历结果集。可以在上面的类中添加构造函数,以从每个结果创建单个书籍实例。但是我的“searchBooks”方法应该放在哪里?它应该是Book类的一部分吗?或者搜索方法应该是一个完全不同的类的一部分,也许是一个名为BookShop的类?

我希望我已经正确解释了这一点。我看到很多例子,其中对象是以单数形式处理的,但我无法理解应该如何以及在何处创建对象列表或集合。

1 个答案:

答案 0 :(得分:-1)

  

如何获取所有图书或所有以图书开头的图书的列表   字母“A”?

所有图书:SELECT id, name, price, isbn FROM book

所有以A:

开头的书籍

SELECT id, name, price, isbn FROM book WHERE name LIKE 'A%'

OR:

SELECT id, name, price, isbn FROM book WHERE SUBSTRING(name, 1, 1) = 'A'

至于方法的去向,查找“存储库” - 一本书不应该自己创建。