为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
GCT1015 2023-03-11 14:02:15
目前我在 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 记录它,就像这样
查看完整描述

2 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

这个怎么样:


->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();


查看完整回答
反对 回复 2023-03-11
?
阿晨1998

TA贡献2037条经验 获得超6个赞

只需在您的预订中添加一些属性。日期属性将列转换为碳。dateFormat 属性是将日期转换为字符串的默认格式


例子


class Booking extends Model

{

    protected $dates = ['starts_at','ends_at'];

    protected $dateFormat = 'Y-m-d';

    ....

}


查看完整回答
反对 回复 2023-03-11
  • 2 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信