【发布时间】:2015-01-06 19:12:04
【问题描述】:
到目前为止,我有这个代码:
$list = $this->modelsManager
->createBuilder()
->columns(array("SeriesList.*", "User.*", "Entry.*"))
->from("SeriesList")
->join("User")
->join("Entry")
->andWhere("SeriesList.id = '$id'")
->getQuery()
->execute();
“Entry”数据库中的每一行都是一个项目,它有一个 id、它所属的系列列表的 id、它的系列 ID 以及它是什么类型的系列。系列的类型指定可以在哪个表中找到系列 ID。
问题是我希望 SeriesList(s) 可能包含不同类型的对象。例如,SeriesList "Favorites" 可能包含 3 个节目和 4 本书,Show 和 Book 是不同的模型,它们与不同的表格交互。
我是否必须继续加入列表中可能包含的所有模型?还是有更好的办法?
【问题讨论】:
-
“它所属的系列列表的 ID”与其“系列 ID”有何不同
-
@Strawberry SeriesList 是一个模型。每个 SeriesList 都有一个名称和一个 id,该 id 在您的问题中称为前者。系列 id 是一个 slug(我本可以使用整数,但我决定将主键 id 和 slug 的目的结合起来以使事情变得更容易)这是其系列的唯一主键,无论是Show 或 Book 或我稍后会添加的其他系列课程。