在vuejs中正确显示"created_at"字段
Displaying the "created_at" field correctly in vuejs
我正在尝试使用 laravel 作为我的后端应用程序并使用 vuejs 作为我的前端应用程序来显示我的数据库中的 "created_at" 字段。
这是目前显示的内容:
时间: { "created_at": "2018-02-22 14:14:30" }
这是我想要显示的:
时间:2018 年 2 月 22 日14:14:30
我的laravel后端代码:
$date = loan_request::all('created_at')->toArray();
return([$date]);
如有任何帮助,我们将不胜感激。
回答您的问题(使用您现有的 HTML):
$date = loan_request::all('created_at')->pluck('created_at')->toArray();
return $date; // will return an array of dates
但是如果 return 和以前一样但显示类似的东西(并且不使用我的 laravel 更改),你可以做什么:
date = { "created_at": "2018-02-22 14:14:30" }
在您的 html / vue.js 文件中
<span>{{ date.created_at }}</span> <!-- "2018-02-22 14:14:30" -->
因为现在你似乎显示了这样的东西:
<span>{{ date }}</span> <!-- { "created_at": "2018-02-22 14:14:30" } -->
如果你想格式化日期,你只能在前端使用 vue.js 中的过滤器来完成! (您可以自己编写代码或使用 https://github.com/brockpetrie/vue-moment)
<span>{{ date.created_at | moment("dddd, MMMM Do YYYY, h:mm:ss a") }}</span>
<!-- e.g. "Sunday, February 14th 2010, 3:25:50 pm" -->
我如何进行日期格式化是使用 Eloquent 访问器。
为此,转到您的 loan_request
模型,然后简单地添加以下函数。
public function getCreatedAtAttribute($date)
{
return Carbon::parse($date)->format('d-M-Y H:i:s');
}
请务必在 class 之前在顶部添加 use Carbon\Carbon;
。
现在当你return你的约会对象...
$date = loan_request::all('created_at')->toArray();
return([$date]);
您在 json 数组中的日期将始终采用 22-Feb-2018 14:14:30
格式
您可以在 Laravel 文档 here
中阅读有关访问器和修改器的更多信息
编辑
第一次阅读时我错过了要删除的 created_at
键。正如其他人指出的那样,您可以通过执行以下操作之一在 vue 代码中执行此操作。
<div v-text="date.created_at"></div>
or..
<div>{{data.created_at}}</div>
如果您仍然真的希望 laravel 仅 return 没有 created_at
键的日期,请将 Laravel 中的查询更改为以下内容。
$date = Location::all('created_at')->pluck('created_at');
return ([$date]);
我正在尝试使用 laravel 作为我的后端应用程序并使用 vuejs 作为我的前端应用程序来显示我的数据库中的 "created_at" 字段。
这是目前显示的内容: 时间: { "created_at": "2018-02-22 14:14:30" }
这是我想要显示的: 时间:2018 年 2 月 22 日14:14:30
我的laravel后端代码:
$date = loan_request::all('created_at')->toArray();
return([$date]);
如有任何帮助,我们将不胜感激。
回答您的问题(使用您现有的 HTML):
$date = loan_request::all('created_at')->pluck('created_at')->toArray();
return $date; // will return an array of dates
但是如果 return 和以前一样但显示类似的东西(并且不使用我的 laravel 更改),你可以做什么:
date = { "created_at": "2018-02-22 14:14:30" }
在您的 html / vue.js 文件中
<span>{{ date.created_at }}</span> <!-- "2018-02-22 14:14:30" -->
因为现在你似乎显示了这样的东西:
<span>{{ date }}</span> <!-- { "created_at": "2018-02-22 14:14:30" } -->
如果你想格式化日期,你只能在前端使用 vue.js 中的过滤器来完成! (您可以自己编写代码或使用 https://github.com/brockpetrie/vue-moment)
<span>{{ date.created_at | moment("dddd, MMMM Do YYYY, h:mm:ss a") }}</span>
<!-- e.g. "Sunday, February 14th 2010, 3:25:50 pm" -->
我如何进行日期格式化是使用 Eloquent 访问器。
为此,转到您的 loan_request
模型,然后简单地添加以下函数。
public function getCreatedAtAttribute($date)
{
return Carbon::parse($date)->format('d-M-Y H:i:s');
}
请务必在 class 之前在顶部添加 use Carbon\Carbon;
。
现在当你return你的约会对象...
$date = loan_request::all('created_at')->toArray();
return([$date]);
您在 json 数组中的日期将始终采用 22-Feb-2018 14:14:30
您可以在 Laravel 文档 here
中阅读有关访问器和修改器的更多信息编辑
第一次阅读时我错过了要删除的 created_at
键。正如其他人指出的那样,您可以通过执行以下操作之一在 vue 代码中执行此操作。
<div v-text="date.created_at"></div>
or..
<div>{{data.created_at}}</div>
如果您仍然真的希望 laravel 仅 return 没有 created_at
键的日期,请将 Laravel 中的查询更改为以下内容。
$date = Location::all('created_at')->pluck('created_at');
return ([$date]);