亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

laravel,將模型中存儲的日期格式轉換為在兩者之間使用

laravel,將模型中存儲的日期格式轉換為在兩者之間使用

PHP
牛魔王的故事 2022-08-05 16:44:56
我想使用whereBetween來獲取日期間隔,created_date它工作正常:$data = Userorder::whereBetween('created_at', [$dateS->format('Y-m-d')." 00:00:00", $dateE->format('Y-m-d')." 23:59:59"])->get();但是我有另一個列名稱order_date,其中此列的日期格式為:星期五 Jan,24,2020,所以我想將其轉換為Y-m-d格式$dateS = new Carbon($startdate);$dateE = new Carbon($enddate);$data = Userorder::whereBetween('order_date', [$dateS->format('Y-m-d'), $dateE->format('Y-m-d')])->get();型:class Userorder extends Model{    protected $table = "userorders";    protected $fillable = [        'order_number',        'product_id',        'order_time',        'order_date',        'product_qty',        'product_price',        'product_totalprice',        'totalprice',        'product_instruction',        'product_size',        'storeinfo_id',        'product_serve',        'user_id',        'user_distance',        'user_address',        'user_instruction',        'office_name',        'st_address',        'order_state',        'order_city',        'order_zipcode',        'gratuity',        'suite_floor',        'driver_ask',        'phone_number',        'paid',        'isdelivery',        'deliveredon',        'show',        'confirmed',        'isonline',        'houseaccount'    ];    protected $primaryKey = 'id';    public $timestamps = true;
查看完整描述

1 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

為了實現你所追求的目標,你應該能夠將Laravel的iravel的whereRaw()方法與MySQL的STR_TO_DATE()函數(mysql日期格式字符串)結合使用:

Userorder::whereRaw('STR_TO_DATE(order_date, "%a %b,%d,%Y") between ? and ?', [$dateS->format('Y-m-d'), $dateE->format('Y-m-d')])->get();

話雖如此,如果可能的話,我建議更新您的表(和相關代碼),以便它實際上是一列而不僅僅是一個字符串。order_datedate


查看完整回答
反對 回復 2022-08-05
  • 1 回答
  • 0 關注
  • 166 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號