2017-10-04 51 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