我有2个简单的模型。首先,一个称为Builds,第二个称为SlotOptions。每个构建可以有5个分配的插槽。
class BuildDB扩展了Model并且有5个这样的关系插槽1-5 …
在这种情况下,无法优化预先加载。
我建议您将数据库架构更改为 多对多的关系 。 这种设计更加灵活,它允许您在将来轻松添加更多插槽。
创建名为的数据透视表 build_slot_option 使用这些列: build_id , slot_option_id 如果要对插槽进行编号/排序,请添加其他列。
build_slot_option
build_id
slot_option_id
然后定义一个 BelongsToMany 关系:
BelongsToMany
class BuildDB extends Model { public function slots() { return $this->belongsToMany( SlotOptions::class, 'build_slot_option', 'build_id', 'slot_option_id' ); } } BuildDB::with('slots')->find(5);