Bạn có thể mở rộng và đăng ký hàm DATE() trong doctrine2 để phát với DQL. kiểm tra điều này solution.
Bây giờ nếu bạn không muốn mở rộng doctrine2, đây giải pháp của tôi:
tìm kiếm dựa trên ngày:
Bạn có thể nhận được khoảng cách giữa các datetime của khởi đầu của một ngày và datetime của kết thúc của nó, tôi đã trả lời here.
Đây là giải pháp sạch nhất cho ngày (tôi nghĩ)!
Bây giờ một giải pháp dễ dàng là để so sánh một lĩnh vực datetime như là một chuỗi với NHƯ điều hành, vì vậy bạn cũng có thể làm điều đó:
$query = $repository->createQueryBuilder('u')->where('u.createdAt LIKE :date')
->setParameter('date', '2013-05-06%')
->getQuery();
$users = $query->getResult();
tìm kiếm dựa trên giờ:
tôi don Không biết giải pháp khác với DQL so với chuỗi (trừ khi bạn mở rộng học thuyết với DATE), tại đây mã:
$query = $um->getRepository()->createQueryBuilder('u')->where('u.createdAt LIKE :date')
->setParameter('date', '____-__-__ 10:45:__')
->getQuery();
Để nhắc bạn, "_" (dấu gạch dưới) nghĩa là 1 ký tự (và bất kỳ ký tự nào!).
Chọn giải pháp của bạn;)
bạn có thể sử dụng truy vấn nguồn gốc và sau đó nó liên kết với tổ chức – Nisam