Laravel 5动态输入字段保存与数据库的关系

时间:2016-02-23 15:35:31

标签: php laravel savemany

我有一个名为navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil) 的动态输入字段。提交表单并使用dd显示name="step[]"时,我得到了这个:

$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表中。所以每个项目都有很多步骤。不知道为什么我得到上面的错误,因为我传递一个数组?

2 个答案:

答案 0 :(得分:1)

我通常意识到使用foreach循环。您的关系方法看起来似乎没问题。这有用吗?

{{1}}

答案 1 :(得分:0)

您是否尝试过使用附加方法?

$project->steps()->attach($resquest->input('steps'));