【发布时间】:2018-10-03 11:28:56
【问题描述】:
我在数据库中有一张优惠券或优惠券表。有 start_date 和 finish_date 来确定凭证或优惠券的有效性。通过获取当天的日期、日期和时间,如果有效期仍然有效,则可以使用优惠券或优惠券,如果有效期已过,则无法重复使用优惠券或优惠券。 下面是我用来处理代金券或优惠券的源代码,但效果不是很好。 有没有人可以帮助我解决这个问题? 谢谢
public function coupon()
{
$c = Input::get('coupon');
$date = Carbon::now();
$check = StoreVoucher::whereRaw("code = '".$c."'")
->whereRaw("status = 1")
->whereRaw("start_date", ">=", $date)
->whereRaw("finish_date", "<=", $date)
->first();
}
【问题讨论】:
-
你遇到了什么错误?
-
你为什么用
whereRaw()而不是where()?whereRaw("code = '".$c."'")非常不安全,因为它容易受到 SQL 注入的攻击。 -
@MuhammadRizwan 没什么错误,只是我的加载过程需要很长时间
-
如果你的网站速度太慢,这个简单的查询肯定不是原因。
-
你迁移的 start_date 和 finsh_date 的数据类型是什么?
标签: laravel laravel-4 eloquent