我在这里犯了一个问题。我以字符串格式将日期存储到数据库中,但现在我正在查找日期的基础上的记录。但这并没有奏效。这个问题的解决办法是什么?
数据类型:varchar|data:例如。01-10-2002
$current_month_balance =
tbl_wallet_detail::
whereMonth('start_date', date('m'))
->whereYear('start_date', date('Y'))
->get();
一种解决方案是将该列的数据库类型更改为日期,如果可能的话,我会说这将是正确的解决方案。
如果这是不可能的,您可以尝试这样做(基于您提供的日期格式):
$current_month_balance =
tbl_wallet_detail::
whereMonth(DB::raw("STR_TO_DATE(start_date, '%d-%m-%Y')"), date('m'))
->whereYear(DB::raw("STR_TO_DATE(start_date, '%d-%m-%Y')"), date('Y'))
->get();
这将搜索原始DB语句而不是属性。MySQL