【发布时间】:2018-07-19 03:06:00
【问题描述】:
我有三个模型:
Car.php、Colour.php、Image.php。
它们有以下关系:
Car belongsToMany Colour:因为汽车可以有多种颜色。
Colour belongsToMany Car:因为一种颜色可以出现在很多车上。
Car belongsToMany Image:因为一辆车可以有多个图像。
Image belongsToMany Car:因为一张图片可以被多辆汽车使用。
Image belongsTo Colour:因为每张图片都必须有颜色。
Colour hasMany Image:因为红色可以在很多图片中找到。
如果我写 Car::find(1)->load('colours.images); 它会按预期返回所有关联的颜色,但是每种颜色都有 每个 使用该颜色的图像。所以我会看到红色的汽车 1、2、3 等,而不仅仅是汽车 1 的图像。
colours.images 似乎忽略了最初的汽车。
我做错了什么?
【问题讨论】:
-
你能发布一些示例数据和预期的结果吗?
标签: php laravel eloquent relational-database eager-loading