首页 > 解决方案 > Laravel Carbon 日期格式在引导弹出窗口中很奇怪

问题描述

我在我的 Laravel 视图(刀片)中显示一个 datediff。我可以显示两个日期之间的时间,如下所示:

$lengthOwned = Carbon\Carbon::now()->diffForHumans(new Carbon\Carbon($real_asset->real_owned_since));
echo($lengthOwned);

echo声明在我的页面上正确显示此信息,就像放置{{$lengthOwned}}在刀片中的任何位置一样。它显示如下:

4 months after

对于 2018 年 1 月 3 日和今天 2018 年 5 月 11 日之间的差异

但是,我需要在引导弹出窗口中显示它,当我得到这个数字时,我会得到数字,而没有附带的文本。因此,4 months after我只得到“”,而不是弹出面板中的“ 4”。这意味着“ 4 months after”和“ 12 years after”变成了“ 4”和“ 12”——不好。

我的弹出框代码是:

<a href="#RE" data-toggle="popover" title="How long since acquired" data-content={{$lengthOwned}}>CLICK FOR TIME LAPSED</a>

使用以下 JavaScript:

<script>
$(document).ready(function(){
    $('[data-toggle="popover"]').popover();   
});
</script>

有人对为什么碳提供的文本丢失/截断有任何建议吗?

我在 Windows 10 上运行 Laravel 5.5、PHP 7 和 XAMPP

提前致谢。

标签: laravel-5popoverlaravel-bladephp-carbon

解决方案


您缺少 的值的引号data-content,现在您有:

<a  data-content={{$lengthOwned}}>CLICK FOR TIME LAPSED</a>

这将呈现如下内容(将值设置data-content为 4 并添加两个奇怪的属性):

<a  data-content=4 months later>CLICK FOR TIME LAPSED</a>

而是将整个值用引号括起来:

<a  data-content="{{$lengthOwned}}">CLICK FOR TIME LAPSED</a>

推荐阅读