我有一个PageModel
关系的模型(让我们称之为hasMany
)(我们称之为rulesList
)。当我创建新的PageModel
时,我希望默认rulesList
至少有一个空模型。我怎样才能在Eloquent中做到这一点?
代码示例:
// Normal instantiation
$this->rulesList; // Equals NULL
// I can set it manually like so, but is that right?
$this->rulesList = Collection::make([new RulesListModel]);
// NOTE: Doing this does not create an empty model when PageModel is output as JSON
答案 0 :(得分:0)
在我看来,没有一种方法可以在关系中做到这一点。原因是一个雄辩的模型是由数据库查询返回值定义的。
您可以在数据库中设置某种空行,但我会建议不要这样做。
可行的一种方法:我认为可以在不运行查询的情况下创建一个雄辩的模型。我认为EloquentModel::fill($attributes)
之类的东西会这样做。其中$attributes
是您的模型的属性数组,例如array('title' => null, 'description' => null);
您必须创建此手动模型,然后将其添加到您的关系中。