2017-10-04 43 views
2

检索年份和月份我要在数据库中只选择年份和月份从时间字段我想这laravel查询生成器如何仅从时间字段

$historyMonth = App\Models\HistoryCostEstimation::where('user_id',$id)->orderBy('created_at','desc')->toDateString('Y-m')->get(); 

,但它不工作有什么建议?

+0

你要这个总是或在某些情况下?以及有关的领域是什么? – Maraboc

+0

我总是需要它,并且相关的字段是'created_at'它是dateTime字段 – Rami

+0

因此,您可以在'HistoryCostEstimation'中为created_at字段添加getter,如下所示:public function getCreatedAtAttribute($ date) { return Carbon \ Carbon :: createFromFormat('Ymd H:i:s',$ date) - > format('Y-m'); ('user_id',$ id) - > orderBy('created_at','desc') - > get()' – Maraboc

回答

1

因为你总是希望该格式可以在HistoryCostEstimation模型是这样定义Accessor

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) 
            ->orde‌​rBy('created_at','de‌​sc') 
            ->get(); 
+1

我真的对不起,我离开了一段时间,非常感谢你的努力 它现在的作品谢谢 – Rami