[英]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.