在vuejs中正确显示“created_at”字段

时间:2018-02-22 14:14:12

标签: arrays datetime laravel-5 vue.js

我正在尝试使用laravel作为我的后端应用程序,并使用vuejs作为我的前端应用程序,从我的数据库中显示“created_at”字段。

这是目前正在展示的内容: 时间: {“created_at”:“2018-02-22 14:14:30”}

这就是我想要显示的内容: 时间: 201-Feb-2018 14:14:30

我的laravel后端代码:

$date = loan_request::all('created_at')->toArray();
    return([$date]);

任何提供的帮助都将受到赞赏..

2 个答案:

答案 0 :(得分:0)

要回答您的问题(使用现有的HTML):

$date = loan_request::all('created_at')->pluck('created_at')->toArray();
    return $date; // will return an array of dates

但如果返回与之前相同的东西但是显示类似的东西(而不是使用我的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" -->

答案 1 :(得分:0)

我如何进行日期格式化是使用Eloquent Accessor。

要执行此操作,请转到loan_request模型,然后只需添加以下功能。

public function getCreatedAtAttribute($date)
{
    return Carbon::parse($date)->format('d-M-Y H:i:s');
}

请务必在课前将use Carbon\Carbon;添加到顶部。

现在用...返回日期

    $date = loan_request::all('created_at')->toArray();
    return([$date]);

json数组中的日期始终采用22-Feb-2018 14:14:30

格式

您可以在Laravel文档here

中阅读有关Accessor和Mutators的更多信息

修改

第一次要删除created_at键时,我错过了。正如其他人指出的那样,你可以通过执行以下操作之一在vue代码中执行此操作。

<div v-text="date.created_at"></div>
or..
<div>{{data.created_at}}</div>

如果您仍然希望laravel仅返回没有created_at键的日期,则将您在Laravel中的查询更改为以下内容。

$date = Location::all('created_at')->pluck('created_at');
return ([$date]);