Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔雄辩模型&x27;s变异/附加属性_Php_Mongodb_Laravel_Laravel 4_Eloquent - Fatal编程技术网

Php 拉威尔雄辩模型&x27;s变异/附加属性

Php 拉威尔雄辩模型&x27;s变异/附加属性,php,mongodb,laravel,laravel-4,eloquent,Php,Mongodb,Laravel,Laravel 4,Eloquent,我想获取laravel雄辩模型的变异/附加属性。我尝试了$model->getAttributes(),但它返回存储在数据库中的原始属性数组。但是我还想获取更改的属性,这些属性尚未保存到数据库中 我尝试了$model->toArray(),它返回原始属性和变异/附加属性的数组。但将“日期”字段的值转换为字符串 我使用mongodb作为数据库。“日期”保存为mongodate,但toArray()将其转换为字符串-“日期”:“2011-03-23 12:00:00” 所以,当我试图将从toArra

我想获取laravel雄辩模型的变异/附加属性。我尝试了
$model->getAttributes()
,但它返回存储在数据库中的原始属性数组。但是我还想获取更改的属性,这些属性尚未保存到数据库中

我尝试了
$model->toArray()
,它返回原始属性和变异/附加属性的数组。但将“日期”字段的值转换为字符串

我使用mongodb作为数据库。“日期”保存为mongodate,但
toArray()
将其转换为字符串-“日期”:“2011-03-23 12:00:00”

所以,当我试图将从
toArray()
获取的这些变异/附加属性保存到数据库时,我的日期会保存在字符串中

是否有其他方法获取雄辩模型的变异/附加属性


提前感谢。

您似乎想重复使用Eloquent将模型序列化为数组的逻辑,但跳过将日期序列化为字符串的逻辑部分

Eloquent通过检查日期字段的名称是否从模型的
getDates()
方法返回来识别日期字段。覆盖该方法,使其返回空数组,并且不会序列化日期


您需要覆盖
getDates()
而不仅仅是将
$dates
属性设置为空数组的原因是
getDates()
除了在
$dates
中定义的内容外,还返回在
处创建的
和在
处更新的
字段。

谢谢您的回复。但是我需要从
getDates()
方法返回'date'字段,因为还有其他依赖项。有没有其他方法可以跳过对字符串的日期序列化?有其他方法,但它们需要一些编码/破解-您试图实现的是雄辩提供的两种表示模型的方法-非序列化模型和序列化为数组的模型。您可以从getDates返回“date”,并为“date”定义一个将取消序列化字段的getter。您可以只为所有日期添加将字符串转换为碳对象的setter。您可能会覆盖对象中的toArray方法。。。不确定什么对您最合适,因为我不明白您为什么要在Mongo中保存数组序列化对象而不是普通对象谢谢。我要试试那些。