假设我有两个模型:
class Book
{
public $book_id;
public $book_author_id;
public $title;
}
class Author
{
public $author_id;
public $author_name;
}
我习惯写这样的代码:
$DB->query("SELECT book_id, title, author_name
FROM book
LEFT JOIN author
ON book_author_id = author_id
");
假设我不想为此关联创建单独的查询,应该如何处理?以下是我听到的一些建议:
- 创建一个JOIN的MySQL VIEW
- 创建一个VIEW的模型类
我可能有一个相关的问题,与包括其他模型相关:
class Author
{
public $author_id;
public $author_name;
/* @var Book */ //<--don't really fully understand this but I've seen something like it somewhere
public (array) $authors_books;
}
我仍在寻找答案,但如果你能发送一个链接,我会非常感激。
/* @var ..
注释是用于自动文档的。像 PHPDoc 这样的工具可以扫描您的代码并为您生成 API 文档。它还被一些 IDE 用于生成代码完成提示。 - Spudley