Laravel 5 laravel查询生成器如何仅从dateTime字段检索年和月
我只想从数据库中的dateTime字段中选择月份和年份,我尝试了这个Laravel 5 laravel查询生成器如何仅从dateTime字段检索年和月,laravel-5,eloquent,query-builder,laravel-query-builder,Laravel 5,Eloquent,Query Builder,Laravel Query Builder,我只想从数据库中的dateTime字段中选择月份和年份,我尝试了这个 $historyMonth = App\Models\HistoryCostEstimation::where('user_id',$id)->orderBy('created_at','desc')->toDateString('Y-m')->get(); 但是它不起作用,有什么建议吗?既然您总是想要这种格式,您可以在历史成本估算模型中定义访问器,如下所示: public function getCrea
$historyMonth = App\Models\HistoryCostEstimation::where('user_id',$id)->orderBy('created_at','desc')->toDateString('Y-m')->get();
但是它不起作用,有什么建议吗?既然您总是想要这种格式,您可以在
历史成本估算模型中定义访问器
,如下所示:
public function getCreatedAtAttribute($date) {
return Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m');
}
您可以查询记录,而无需进行任何转换:
App\Models\HistoryCostEstimation::where('user_id',$id)
->orderBy('created_at','desc')
->get();
你想一直这样还是在某些情况下这样?什么是相关字段?我总是需要它,相关字段是“created_at”,它是dateTime字段,因此您可以在HistoryCostEstimation
中为created_at字段添加一个getter,如下public function getcreateDataAttribute($date){return Carbon\Carbon::createFromFormat('Y-m-d H:i:s',$date)->format('Y-m')}
不更改查询中的任何内容App\Models\HistoryCostEstimation::where('user\u id',$id)->orderBy('created\u at','desc')->get()
在循环中,如果它将返回多个记录,则只需执行record->created\u at
!!这对你有用吗?我真的很抱歉我离开了一段时间,非常感谢你的努力现在有用了谢谢