如何使用至少一个空模型实例化新的hasMany Eloquent关系?

时间:2014-02-13 14:52:42

标签: php laravel eloquent

我有一个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

1 个答案:

答案 0 :(得分:0)

在我看来,没有一种方法可以在关系中做到这一点。原因是一个雄辩的模型是由数据库查询返回值定义的。

您可以在数据库中设置某种空行,但我会建议不要这样做。

可行的一种方法:我认为可以在不运行查询的情况下创建一个雄辩的模型。我认为EloquentModel::fill($attributes)之类的东西会这样做。其中$attributes是您的模型的属性数组,例如array('title' => null, 'description' => null);

您必须创建此手动模型,然后将其添加到您的关系中。