我有表“结算”,列“X”包含YYYYMMDD(VARCHAR(8),我不是表的创建者)。
$today = Carbon\Carbon::now();
怎么做:
Select * from billing where X <= $today;
在Raw或Eloquent Laravel?
答案 0 :(得分:1)
您可以使用str_to_date
Select * from billing where str_to_date(X, '%Y%m%d') <= $today;
答案 1 :(得分:1)
将此视为数据库数据
这是你的模特
namespace App\Entities;
use Illuminate\Database\Eloquent\Model;
class Date extends Model
{
protected $fillable = [];
}
这是您的控制器代码
use App\Entities\Date;
public function check(Date $Date)
{
$today = Carbon::now()->format('Y-m-d');
$filterByDate = $Date->whereDate('dates','<=',$today)->get();
dd($filterByDate);
}
查询的数据结果是
在
中查询结果select * from `dates` where date(`dates`) <= '2016-09-16'
对于雄辩的日期过滤器,请参阅this