【发布时间】:2016-02-23 15:35:30
【问题描述】:
我有一个名为name="step[]" 的动态输入字段。当提交表单并使用 dd 显示 $request->step 时,我得到了这个:
array:3 [
0 => "Test Step 1"
1 => "Test Step 2"
2 => "Test Step 3"
]
所以它是一个数组。现在,当我想使用以下方法插入数据时:
$project = new Project;
$project->name = $request->name;
$project->save();
$project->steps()->saveMany($request->step);
我收到此错误:
Argument 1 passed to Illuminate\Database\Eloquent\Relations\HasOneOrMany::save() must be an instance of Illuminate\Database\Eloquent\Model, string given
项目模型:
public function steps()
{
return $this->hasMany('App\Step');
}
我的目标是创建一个新的Project 并将其保存到数据库中,并将所有steps 保存在我的Step 表中。所以每个Project都有很多步骤。不知道为什么我会收到上述错误,因为我正在传递一个数组?
【问题讨论】:
-
一个
array是的。一个array的模型,没有。$project->steps()->saveMany( /** array of models expected */). -
谢谢,我明白了:)