我正在使用laravel,并使用transform方法更改数据对象中项目的名称,但它不起作用,它向我显示了复制数据库列名称的相同数据。Transform()不起作用Laravel
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Lessons;
use Illuminate\Support\Facades\Response;
use League\Fractal\TransformerAbstract;
class LessonsController extends Controller
{
public function index()
{
$lessons= Lessons::all();
return Response::json([
'data'=>$lessons->toArray()
],200);
}
public function show($id)
{
$lessons= Lessons::find($id);
if(! $lessons)
{
return Response::json([
'error'=>[
'message'=>'Lesson not found',
]
],404);
}
return Response::json([
'data'=>$lessons->toArray()
],200);
}
private function transform ($lessons)
{
return array_map(function($lesson)
{
return [
'heading'=>$lesson['title'],
'body'=>$lesson['body']
];
},$lessons->toArray());
}
}
,这是我打电话的网址:
http://localhost:8000/api/v1/lessons
,这是输出我越来越:
{
"data": [
{
"title": "Title 1",
"body": "body 1"
},
{
"title": "title 2",
"body": "body 2"
},
{
"title": "Title 3",
"body": "body 3"
},
{
"title": "title 4",
"body": "body 4"
}
]
}
底线:我想标题标题,而不是在输出,但没有得到它。转换功能不起作用
我看不到在您的代码中任何地方使用'transform()'方法。 – Doom5