簡體   English   中英

Laravel 5 API-處理數組

[英]Laravel 5 API - Handle arrays

我正在使用Laravel 5,並實現了一個可正常使用的Restful API。 我試圖允許通過傳遞這樣的數組來創建帖子...

post
  title
  excerpt
  content
  image
post
  title
  excerpt
  content
  image

該API當前非常適合發布單個帖子,但是我該如何處理帖子數組呢?

有誰能看到我的例子嗎?

您是否嘗試在體內發送JSON? 這是帶有示例的鏈接

請求正文可能如下所示:

 { "parameters":[ { "value":{ "array":{ "elements":[ { "string":{ "value":"value1" } }, { "string":{ "value":"value2" } }, { "string":{ "value":"value3" } } ] } }, "type":"Array/string", "name":"arrayvariable" } ] } 

每當您從數據庫中獲取數組並將其保存到數據庫中時,都會轉換該數組。

這是使用laravel cast 鏈接的示例

使用屬性轉換。 打開您的IdModel模型並添加以下內容:

  protected $casts = [ 'id' => 'array' ]; 

如果使用的是資源控制器,則應該有一個帶方法store()PostsController 我假設您的請求有效載荷是這樣的JSON:

{"posts": [{"title":"foo"},{"title":"bar"}, …]}

因此,您需要json_decode輸入。 然后將其傳遞到您的數據庫:

public function store() 
{   
    $posts = json_decode($request->input('posts', '')); 
    if (is_array($posts)) {
        DB::table('posts')->insert($posts);
    }
}

可能有一些插件或中間件或任何可以自動解碼JSON有效負載的東西。 但是除此之外,做您所要求的沒有什么特別的。

如果您不想使用store()方法(因為它已經存儲了一個Post或其他東西),則可以為您的多個Post添加一條路由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM