我有一个带有以下列的mysql表
名称| 大黄酮| 邮件| created_at
“日期”字段是日期类型
“ created_at”字段是时间戳类型
在我的控制器中,我有一种方法可以按日期对结果进行分组
$users = Post :: orderBy ('dateone') -> get () -> groupBy (function ($ item) {
return $ item-> created_at-> format ('Y-m-d');
它有效,但是,当我更换时
返回$ item-> created_at- > format('Ym-d');
通过
返回$ item-> dateone- > format('Ym-d');
我有以下错误:
在字符串上调用成员函数format()
是否有通过Carbon或其他解决方案来解决我的问题?
感谢您的帮助。
是的,默认情况下created_at和updated_at在Carbon实例中。您可以通过将dateone解析为carbon实例来将它用作created_at。
$convertedDateOne = null;
if(!empty($item->dateone)){
$convertedDateOne = Carbon::parse($item)->format('Y-m-d');
}
如果您希望每次将dateone都作为Carbon的实例,则可以在模型中以datetime格式进行转换。
假设模型名称为Item.php
class Item extends Model{
protected $dates = ['dateone'];
}
非常感谢lizeshakya的帮助。模型中的`protected $ dates`起作用。另一种解决方案也很好。碳是一门真正强大的职业。再次感谢你的帮助