我在数据库中有日期字段,有varchar数据类型.现在我必须将日期与当前日期进行比较,但由于数据类型(varchar)结果不正确.
我不想在数据库中更改数据类型,所以如何在codeigniter中查询?
在我的数据库中,日期的格式为30/11/2015
我目前的查询:
//here vd is table field(one column).
$cd = date('d/m/Y');//current date
$this->db->where("date_format(STR_TO_DATE(vd, '%d/%m/%Y'),'%d/%m/%Y') >",$cd); //comparing date with current date
$query =$this->db->get('warranty');
Run Code Online (Sandbox Code Playgroud)
通过使用上面的查询,它只是比较日期而不是月份和年份.因此它将返回那些日期大于今天日期的记录.
但正确的结果不会来......
我正在开发 WooCommerce 项目。我需要根据自定义表中的订购项目添加一些条目。如果用户订购了 3 个商品,那么这 3 个条目将与我的自定义表中的一些数据一起放置。
为此我使用了woocommerce_checkout_order_processed钩子。但我遇到了一些问题,如果用户在购物车和结账页面添加 4 件商品,如果用户删除了除一件商品之外的所有商品,最后只订购了 1 件商品,那么在这个钩子中我也得到了所有 4 件商品。我没有在这个钩子中得到最终订购的物品。
所以我把钩子改成了woocommerce_thankyou. 但在某些情况下,由于某种原因,用户没有进入感谢页面或某些信用卡付款,此挂钩不起作用。
那么谁能告诉我最好的钩子,它可以在订单下达后运行,无论付款是否完成,而且我应该只得到订购的物品。我的 WooCommerce 版本是 3+
代码 :
function wc_function($order_id) {
global $wpdb;
$order = new WC_Order($order_id);
$items = $order->get_items();
foreach ($items as $item_line_id => $item) {
// Insert data in my custom table
}
}
//add_action('woocommerce_checkout_order_processed','wc_function', 10, 3);
//add_action('woocommerce_thankyou', 'wc_function', 10, 1);
Run Code Online (Sandbox Code Playgroud)
谢谢 !