将 DATE_FORMAT 转换为 Ymd?使用 Larave Eloquent 原始选择

目前我在 laravel 中有这个雄辩的选择


$queryBooking = Booking::where('id',$id)->select('starts_at','ends_at')->first();


现在我想将特定格式放入starts_at并ends_at使用这种格式Y-m-d


数据应该像这样显示2020-05-29 (Y-m-d)


我怎样才能使用 laravel 雄辩地做到这一点?


更新


尝试了 spiny 的答案做了一些修改。


 $queryBooking = Booking::where('id',$id)->select('starts_at','ends_at')->first();


 $booking = PropertyBooking::where('property_id',$queryBooking->property_id)

    ->selectRaw(

        'DATE_FORMAT(`starts_at`, "%Y-%m-%d") AS `starts_at`, DATE_FORMAT(`ends_at`, "%Y-%m-%d") AS `ends_at`'

    )->get();


    return view('admin.pages.property_request.edit', compact('property_request','booking'));

在我的刀片中尝试使用 js 记录它,就像这样

http://img4.mukewang.com/640c19800001242d04630112.jpg

GCT1015
浏览 83回答 2
2回答

慕森王

这个怎么样:->selectRaw(    'DATE_FORMAT(`starts_at`, "%Y-%m-%d") AS `starts_at`, DATE_FORMAT(`ends_at`, "%Y-%m-%d") AS `ends_at`')您也可以将其用作范围:public function scopeSelectStartEndDates($query) {    return $query->selectRaw(        'DATE_FORMAT(`starts_at`, "%Y-%m-%d") AS `starts_at`, DATE_FORMAT(`ends_at`, "%Y-%m-%d") AS `ends_at`'    );}$model = Model::selectStartEndDates()->first();

阿晨1998

只需在您的预订中添加一些属性。日期属性将列转换为碳。dateFormat 属性是将日期转换为字符串的默认格式例子class Booking extends Model{    protected $dates = ['starts_at','ends_at'];    protected $dateFormat = 'Y-m-d';    ....}
打开App,查看更多内容
随时随地看视频慕课网APP