如何在Laravel 5.2 MongoDB中的Sub Json文档中存储Carbon DateTime ISO对象 - php

我正在尝试将Carbon日期时间存储在Sub Json Document中,而不是以ISO格式存储,其存储方式如下所示。

"_id" : ObjectId("5791bc3d6e79d211aa5be019"),
"breakUps" : [ 
   {
        "amount" : 2000,
        "expiry" : {
            "date" : "2016-09-05 06:25:01.000000",
            "timezone_type" : 3,
            "timezone" : "UTC"
        }
    }
],
"updated_at" : ISODate("2016-07-22T06:25:01.576Z"),
"created_at" : ISODate("2016-07-22T06:25:01.576Z")

相反,它应该以ISODate(“ 2016-07-22T06:25:01.576Z”)格式存储。

我的口才模型课是:

class Configurations extends Eloquent
{
    public $incrementing = false;
    public  $timestamps = true;
    protected $collection = 'configurations';
    protected $dates = array('created_at','updated_at','breakUps.expiry');
}

我用于保存对象的PHP代码

$config1 = new Configurations();
$config1->breakUps = [['amount' => 1000, 'expiry' => Carbon::now()->addDays(30)]];
$config1->save();

参考方案

Laravel中的日期修改器不支持点表示法,因此,

protected $dates = ['breakUps.expiry'];

就是行不通。解决此问题的一种简单方法是将密钥作为breakUps_expiry移到文档的根目录。

protected $dates = ['breakUps_expiry'];

laravel-mongodb github页面上已经记录了一个问题,您可以track it here。

如何在Laravel 5.4中设置cookie? - php

我在laravel 5.4中具有此功能,但无法从Cookie中获取任何信息。Cookie::queue('currentLang', 'heb', 999999999); echo $request->cookie('currentLang'); 但是我得到了一些长字符串,而不是我设置的字符串…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

PHP:将字符串拆分为字母和数字部分的最佳方法 - php

我有几个格式的字符串AA11 AAAAAA1111111 AA1111111 分离字符串的字母和数字部分的最佳方法(最有效)? 参考方案 如果它们都是一系列字母,然后是一系列数字,并且没有非字母数字字符,那么sscanf()可能比regexp更有效$example = 'AAA11111'; list($alpha,$numeric) =…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP:从函数返回值并直接回显它? - php

这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…