게시 된 모든 레코드를 반환하는 쿼리를 작업하고 있으며 최신 updated_version으로 그룹화하고 정렬합니다.그룹화 된 레코드 수를 찾기 위해 doctrine 루프를 얻는 방법
그런 다음 결과를 필터링하여 지난 24 시간, 주 및 월에 업데이트 된 결과를 표시합니다.
모든 작품 dandy. 그러나 이러한 세 가지 날짜 기준에서 레코드가 업데이트되지 않은 경우 "No records has been updated"라는 조건을 추가하고 싶습니다.
쿼리에서 이러한 그룹을 분리하여 확인하거나 루프에서 변수를 설정할 수 있는지 궁금합니다. 루프 문제는 루프에서 0 결과 조건을 얻을 수 있지만 루프 내부에서이를 확인하므로 루프의 각 레코드에 대해 "결과를 찾을 수 없습니다"라는 메시지가 표시됩니다.
//return all unpublished records
$draftEntries = Doctrine::getTable("foo")
->createQuery()
->where('published = 0')
->groupBy('updated_at')
->orderBy("updated_at DESC")
->execute();
그리고 루프 :
OK, 여기에 쿼리입니다
$message .= "These profiles were edited within the last 24 hours: \n";
foreach ($draftEntries as $entry) {
$currentDay = substr($entry['updated_at'], 0, 10);
$condition = false;
if($currentDay == $today) {
$condition = true;
$message .= $entry['last_name'] . ", " . $entry['first_name'] . "\n";
else {
$message .= "There were records updated yesterday";
echo $condition;
}
}
이 단지 세 개의 루프에,하지만 난 당신이 내 의도의 요점을 얻을 생각합니다. 분명히 다음은이를 반환하는 루프입니다.
어제 업데이트 된 레코드가 있습니다. 어제 업데이트 된 기록이 있습니다. 어제 업데이트 된 기록이 있습니다. ...
바람직하지 않은.
그래서 쿼리에서 groupBy가 0보다 큰지 확인할 수 있습니까? 결과를 올바르게 얻기 위해 세 가지 쿼리를 설정하지 않고이 작업을 수행 할 수 있습니까?