Php 按特定日期/任何年份查找所有行
我正在用Symfony2构建一个应用程序,我需要为存储库创建一个自定义函数,该函数可以选择某个用户创建的、属于某个月/日但不属于任何年份的所有行 所以我想把某一天和某个用户输入回购协议,并从任何一年中获取在该天所做的任何条目Php 按特定日期/任何年份查找所有行,php,mysql,symfony,doctrine-orm,Php,Mysql,Symfony,Doctrine Orm,我正在用Symfony2构建一个应用程序,我需要为存储库创建一个自定义函数,该函数可以选择某个用户创建的、属于某个月/日但不属于任何年份的所有行 所以我想把某一天和某个用户输入回购协议,并从任何一年中获取在该天所做的任何条目 是否需要通过查询生成器执行此操作,还是需要将它们全部提取出来并在数组中使用PHP进行排序?这需要几个步骤: 通过添加到composer.json来添加: “beberlei/DoctrineExtensions”:“*” 修改…app/config/config.yml以
是否需要通过查询生成器执行此操作,还是需要将它们全部提取出来并在数组中使用PHP进行排序?这需要几个步骤:
- 通过添加到composer.json来添加:
“beberlei/DoctrineExtensions”:“*”
- 修改
以包括…app/config/config.yml
public function getSomeStuff($user, $day, $month)
{
return $this->getEntityManager()
->createQuery(
"SELECT r FROM YourBundle:RowSource r "
. "JOIN YourBundle:User u "
. "WITH r.user = u "
. "WHERE Month(r.rowDate) = $month AND "
. "Day(r.rowDate) = $day AND "
. "r.user = $user "
)->getResult();
}
这个怎么样:
public function fetchByDay($day)
{
$connection = $this->getEntityManager()->getConnection()->prepare('
SELECT *
FROM my_table
WHERE DAYOFMONTH(date_column) = :day
');
$connection->bindValue('day', (int) $day, \PDO::PARAM_INT);
$connection->execute();
return $connection->fetchAll(\PDO::FETCH_ASSOC);
}
下面是一个供进一步了解的示例
public function fetchByDay($day)
{
$connection = $this->getEntityManager()->getConnection()->prepare('
SELECT *
FROM my_table
WHERE DAYOFMONTH(date_column) = :day
');
$connection->bindValue('day', (int) $day, \PDO::PARAM_INT);
$connection->execute();
return $connection->fetchAll(\PDO::FETCH_ASSOC);
}