我从表单页面获取了以下形式的值数组:
"managed_cluster" => array:2 [▼
0 => "Benelux"
1 => "Germany & Austria"
]
我有2个型号: 用户
public function clusters()
{
return $this->hasMany('App\Cluster');
}
所以我有表用户的id和name列,我有id,user_id和cluster_name列的表簇。 2个表之间的链接是users.id和clusters.user_id
我知道如果我使用App\User::find(1)->clusters()->saveMany(x)
,那么x需要是一组对象,但我想知道如何用数组直接做到这一点?或者我是否需要在数组上进行foreach,然后逐个保存集群(从表单中获取)?
感谢。
答案 0 :(得分:3)
尝试使用接受数组作为属性的函数 createMany(),例如:
$user = App\User::find(1);
$user->clusters()->createMany([
[
'cluster_name' => 'cluster1',
],
[
'cluster_name' => 'cluster2',
],
]);
更多信息:
https://laravel.com/docs/5.5/eloquent-relationships#the-create-method