有没有一种方法可以始终使用碳返回列中的日期?

假设我有一个带有Challenges列的date_end模型/表。

当我在ChallengesController中进行此调用时,它将为我的应用返回json中的所有challenges

public function index()
    {
      return response()->json([
        'status'=>'success',
        'challenges' => Auth::user()->challenges,
      ]);
    }


但是日期仍然是MySQL格式。我知道我可以做:

public function index()
{
      $challenges = Auth::user()->challenges;

      foreach ( $challenges as $challenge){
         $challenge['humandate'] = $challenge->date_end->diffForHumans();
       }

      return response()->json([
            'status'=>'success',
            'challenges' => $challenges,
      ]);
}


然后通过challenge.humandate获取日期,但是有没有更干净的方法?

最佳答案

正如@Castis所指出的,您可以使用属性更改器和访问器来修改数据是否来自模型以及来自模型的数据。例如,在您的情况下,定义getCreatedAtAttribute方法,并从中返回Carbon和解析到其中的created_at字段。

关于php - Laravel总是返回带有碳的日期列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44574170/

10-12 13:40