繁体   English   中英

Laravel Rest API - 获取 Z466DEEC76ECDF5FCA6D38571F6324D5Z4 中的特定列

[英]Laravel Rest API - Get specific columns in json

我正在使用 Laravel 构建 Restful API

我想做的是获取 JSON 响应中的特定列,而不是获取所有列

例如我有这些列的产品表

title - price - description - status - created_at - updated at

我只想在 JSON 响应中显示标题价格描述

那么,有什么想法吗?

您可以使用select进行某些字段显示:

Model::select('title', 'price', 'description')->get();

或者,在get()方法中:

Model::get(['title', 'price', 'description']);

由于您想在给定的 model 实例上隐藏一些通常可见的属性,您可以使用 makeHidden 方法:

$data = Model::all();
$data->makeHidden('price');

现在price将从您的查询中隐藏。

您可以在 get() 或 all() 方法之后使用 map function 。

前任:

Model::all()->map(function($product) {
    return [
        'title',
        'price',
        'description'
    ];
});

您可以仅使用 map function ,这将为您带来好处,它还可以处理计算字段,而不仅仅是“物理” SQL 字段:

Model::get()->map->only([
      'title',
      'price',
      'description'
]);

上面 Abu Bin Oalid 的答案不起作用,它只给你属性,而不是实际值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM