簡體   English   中英

在Laravel 4中將Eloquent模型作為JSON返回

[英]Returning an Eloquent model as JSON in Laravel 4

如何將Eloquent模型作為JSON返回給瀏覽器? 以下兩種方法有什么區別? 兩者似乎都有效。

#1:

return Response::json($user->toArray());

#2:

return $user->toJson();

發送的實際數據是相同的,但是......

#1將Content-Type:application/json發送到瀏覽器

#2發送Content-Type:text/html

#1更正確但它取決於您的Javascript,請參閱: 什么是正確的JSON內容類型?

但是,返回模型要簡單得多。 它作為JSON自動返回,並且Content-Type設置正確:

return $model;

在#1中,您首先將您的Eloquent轉換為數組,然后將其轉換為JSON,這似乎有點多余。

考慮到這一點,如果您將JSON返回給調用者,我將使用#2。

另請注意,在L4中,只要將Eloquent模型強制轉換為字符串,它就會自動轉換為JSON。 因此,您可以在此示例中從文檔中直接返回路徑中的JSON數據:

Route::get('users', function()
{
    return User::all();
});

有關更多信息,請參閱http://four.laravel.com/docs/eloquent#converting-to-arrays-or-json

Response::json($someArray)是返回JSON數據的通用方法。

return $model->toJson()特定於將模型作為JSON返回。 在使用Eloquent模型時,這將是我的首選方法。

暫無
暫無

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

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