2017-03-09 37 views
1

我想成立一​​个项目到小时和分钟这样的值:正确无法设置碳变量Laravel

foreach ($items as $item){ 
    if($item->created_at->gte($begin_date) && $item->created_at->lte($end_date)) 
    { 
     $item->created_at = $item->created_at->format('H:m'); 
     $sorted_items[] = $item; 
    } 
} 

当我使用dd($item->created_at->format('H:m'))它显示小时和分钟,但是当我尝试设置$用品 - > created_at到小时和分钟它抛出我这个错误:

InvalidArgumentException in Carbon.php line 582: 
Unexpected data found. 
Data missing 
+0

是否在foreach循环? – rahulsm

+0

@rahul_m已修正 – prgrm

+0

@AlexeyMezenin除了函数的名称和返回之外,没有别的东西了。参数是碳日期和雄辩项目。 – prgrm

回答

3

我觉得它不能使用created_at,这在model.php定义。如果您使用其他属性,如created_at_formatted,它应该工作。

$item->created_at_formatted = Carbon::createFromFormat('Y-m-d H:i:s', $item->created_at)->format('H:m'); 

Laravel使用模型中的分配碳实例protected $dates;,所以每次你打电话$item->created_at它将返回Carbon::parse($item->created_at)。由于您将数据更改为不正确的值(H:m),因此无法完成此操作。

希望这个作品!