0; /* 分类名:Task::find 不带 join,这里按 id 在清单里找(清单一次查询就够, 比再跑一条 SQL 划算;找不到就当未分类)。 */ $tpCatName = ''; foreach ($tpCats as $tpCat) { if ((int)$tpCat['id'] === (int)($tpT['category_id'] ?? 0)) { $tpCatName = (string)$tpCat['name']; break; } } $tpDue = (string)($tpT['due_at'] ?? ''); /* #78:协作人(共享给)。Task::find 已经带回 `shares`,直接用。 */ $tpShares = (array)($tpT['shares'] ?? []); $tpShareIds = []; foreach ($tpShares as $tpS) { $tpShareIds[] = (int)($tpS['person_id'] ?? 0); } $tpDueWord = \App\Task::dueWord($tpDue !== '' ? $tpDue : null); $tpLate = $tpDue !== '' && $tpStatus !== 'done' && \App\Task::isOverdue($tpDue); ?>
还没有子任务。
还没有附件。
还没有留言。写 @名字 可以点名。