2017-02-24 22 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