gpt4 book ai didi

php - 将时间戳列中的值截断为仅日期部分,删除 Doctrine 1.2 中的时间

转载 作者:行者123 更新时间:2023-11-29 02:57:52 24 4
gpt4 key购买 nike

我想比较两个日期,如果在一对多关系的列中已经存在相同的日期,则不应将用户输入的日期保存在 Mysql 中。我的问题是,日期列是时间戳类型,因此两个相同的日期有不同的时间,它仍然会保存在数据库中,因为它们仍然具有“不同的值”,例如“2004-13-12 8:00:00”不同于“2014-13-12 8:07”: 08'.我可以在Mysql里做

SELECT date_created 
FROM koleks
WHERE
-- Truncate the datetime to a date only
DATE(date_created) = '2014-03-12'
AND id = 3942

我尝试过 Doctrine,但没有成功。

public function getDateCreate($date,$id) {
//$date =date('Y-m-d H:i:s',strtotime('2014-03-12 8:00:00'));this will
// $id = 3942;//work
$q = $this->createQuery('k')
->select('k.date_created')
->addSelect('k.loan_id')
->from('Koleks k')
->innerJoin('k.Loans l')
->andWhere('k.date_created=?',$date)
->andWhere('k.loan_id=?',$id);
return $q->execute();

// Action

  $dateOfPayment = '2014-01-10';
$ids = 1234;
$duplicates = Doctrine_Core::getTable('Koleks')->getDateCreate($dateOfPayment,$id);
if (count($duplicates) > 0) {
$this->fieldErrors['date_of_payment_'.$loan['id']] = 'Error Duplicate date.';
}
else {
//code to save in database;
}

任何想法?如果两个日期值的日期部分具有相同的值,无论其时间(小时、分钟、秒)如何,我都想在操作中引发错误。

最佳答案

Doctrine 很乐意接受 dql 中的 DATE() 函数:

->andWhere('DATE(k.date_created) = ?', $date)

关于php - 将时间戳列中的值截断为仅日期部分,删除 Doctrine 1.2 中的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28533615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com