更改 Laravel 等效的列名称

Change column name in Laravel equivalent

我是 Laravel 的初学者。我有这个代码:

$data = Term::whereDate('begin_date', '>=', $start)->whereDate('end_date',   '<=', $end)->get(['id','name','begin_date', 'end_date']);

这很好。

我需要更改我的列结果:begin_date 为 start_date 和 end_date 为 finish_date

如何更改?

您只需要通过获取选择传递别名

->get(['id','name','begin_date AS start_date', 'end_date AS end_date']);

您刚刚尝试替换粘贴的代码中的那些列吗?

$data = Term::whereDate('start_date', '>=', $start)->whereDate('finish_date',   '<=', $end)->get(['id','name','start_date', 'finish_date']);

可以这样写

Term::whereDate('begin_date', '>=', $start)
   ->whereDate('end_date',   '<=', $end)
   ->get(['id','name','begin_date AS start_date', 'end_date As finish_date']);

或者用select方法编辑它

Term::whereDate('begin_date', '>=', $start)
   ->whereDate('end_date',   '<=', $end)
   ->select('id','name','begin_date AS start_date', 'end_date As finish_date')
   ->get();

您可以在查询的 get 方法中命名列。试试这个:

$data = Term::whereDate('begin_date', '>=', $start)->whereDate('end_date',   '<=', $end)->get(['id','name','begin_date AS start_date', 'end_date AS finish_date']);