在Laravel 4中将Eloquent模型作为JSON返回

2020/12/31 12:41 · php ·  · 0评论

如何将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;

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

return $model->toJson()特定于将模型作为JSON返回。当使用Eloquent模型时,这是我的首选方法。

在#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

这解决了我在laravel 5.5中的问题:

function allUsers()
{
    $users = \App\User::all();
    $usersJson = json_encode($users);
    return $usersJson;
}
本文地址:http://php.askforanswer.com/zailaravel-4zhongjiangeloquentmoxingzuoweijsonfanhui.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!