如何在Input :: all()中获取数组数据并将其作为hasMany()关系存储到实际记录中?

时间:2014-12-09 05:26:43

标签: php laravel laravel-4

我正在研究一个项目并且有一个表诊断。还有另一个表diagnostic_detail。诊断与diagnostic_detail具有一对多的关系。进入诊断控制器以创建新记录的后期数据包含有关诊断本身的所有信息以及要推送到diagnostic_detail方法的一系列详细信息。

现在创建诊断记录很简单:

Diagnostic::create(Input::all());

但是如何获取细节的所有数据并创建它?

1 个答案:

答案 0 :(得分:0)

您必须手动循环并创建详细信息对象。试试这个:

$details = array();
foreach(Input::get('diagnostic_detail') as $detail){
    $details[] = new DiagnosticDetail($detail);
}
$diagnostic->details()->saveMany($details);

在此示例中,DiagnosticDetailhasMany()引用的模型,details是hasMany关系。

有关inserting related models

的更多信息