2017-02-24 106 views
0

我试图发送多个数据存储更多的塔1行中Laravel数据的基础上获取一个请求,我使用AJAX如下:如何laravel从阿贾克斯

var postData = []; 

for (i = 0 ; i<100; i++){    
    postData.push({form_name: name[i], etc...}); 
} 

$.ajax({ 
    async: false, 
    url: {{route(createForm)}}, 
    headers: {"X-CSRF-TOKEN": token}, 
    type: 'POST', 
    contentType: 'application/json', 
    dataType: 'json', 
    data: JSON.stringify(postData), 
}); 

当我检查去安慰它被发送相当不错的数据,但我没有在如何获取控制器的要求,当它只是一个请求任何线索控制器完美的作品是这样的:

public function createForm(Request $data, User $user) 
{ 
    if ($data->ajax()){ 
     $form=new Form($data->all()); 
     $user->forms()->save($form); 
    } 
} 

但正如我所说,我不知道如果请求现在是一个数组,或者我该如何处理它来存储数据库中的所有数据w ith一个循环

非常感谢。

+0

看来你正在发送一个对象数组。我在你的javascript中看到一个循环。你发送多个对象吗? – EddyTheDove

+0

是的,这是主意,但我不知道在控制器中如何获取每个对象(请求),以将它们全部存储在数据库中 –

+0

我编写的控制器代码仅用于一个对象,但我想在一个循环中获取所有对象并将它们全部存储在数据库中“以laravel方式” –

回答

0
public function createForm(Request $data, User $user) 
{ 
    foreach($data->all() as $row) { 
     $form = new Form($row); 
     $user->forms()->save($form); 
    } 
} 
+0

非常感谢,我试图循环变量$ data,并且当然没有工作,我想这毕竟是一个愚蠢的问题,再次非常感谢,我无法一个人想象它。 –

+0

不客气。只要标记答案。谢谢 :) – EddyTheDove