Laravel - 使用分页修改获取的数据

Laravel - Modify Fetched Data With Pagination

我想格式化从数据库中提取的某些列,但不知道如何操作。我使用 Laravel 8.x。这是片段:

GarageController.php

$q = Garage::with('relative')->paginate(15);
return response()->json($q);

输出

{
  "data": [
    {
      "id": 39819,
      "name": "john",
      "date": "2020-12-20", // i want to format this with date_format()
      "relative": {
        "rid": 912039,
        "rname": "ROV" // and i just want this value instead of all columns
      }
    },
    {
      "id": 38178,
      "name": "danny",
      "date": "2020-12-20", // and this too
      "relative": {
        "rid": 182738,
        "rname": "YIV"
      }
    }
  ],
  "links": {
    .....
  },
  "meta": {
     ....
  }
}

车型,车库有是亲戚的(亲戚可以有很多车库)

public function relative() {
   return $this->belongsTo(Relative::class, 'relative', 'rid');
}

我试过访问器,但没有任何改变

public function getDateAttributes($value) {
  return date_format(date_create($value), 'd/m/Y');
}

如有任何帮助,我们将不胜感激。谢谢。

我认为您只需要从 getDateAttributes

中删除 s

来自

public function getDateAttributes($value) {
  return date_format(date_create($value), 'd/m/Y');
}

public function getDateAttribute($value) {
  return date_format(date_create($value), 'd/m/Y');
}