本文整理汇总了PHP中Library\Utility\Helper::siftWeekDay方法的典型用法代码示例。如果您正苦于以下问题:PHP Helper::siftWeekDay方法的具体用法?PHP Helper::siftWeekDay怎么用?PHP Helper::siftWeekDay使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Library\Utility\Helper
的用法示例。
在下文中一共展示了Helper::siftWeekDay方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: push
/**
* @param $entityId
* @param $startDate
* @param $endDate
* @param array $weekdays
* @return bool
*/
public function push($entityId, $startDate, $endDate, $weekdays = [], $entityType = self::ENTITY_TYPE_APARTMENT)
{
try {
/**
* @var \DDD\Dao\Queue\InventorySynchronizationQueue $dao
*/
$dao = $this->getServiceLocator()->get('dao_queue_inventory_synchronization_queue');
$dates = $this->constructDateCollectionFromRange($startDate, $endDate);
$queueItem = [];
foreach ($dates as $date) {
if (is_array($weekdays) && !empty($weekdays) && !in_array(Helper::siftWeekDay($date->format('w')), $weekdays)) {
continue;
}
$formattedDate = $date->format('Y-m-d');
if ($formattedDate < date('Y-m-d')) {
continue;
}
$queueItem[] = ['addition_date' => date('Y-m-d H:i:s'), 'entity_id' => $entityId, 'date' => $formattedDate, 'entity_type' => $entityType];
}
/*
* Push data into queue table with multi-insert queries of
* max. self::MULTI_INSERT_MAX_COUNT records per query.
*/
$chunkedData = array_chunk($queueItem, self::MULTI_INSERT_MAX_COUNT);
foreach ($chunkedData as $chunk) {
$dao->multiInsert($chunk, true);
}
return true;
} catch (\Exception $e) {
return false;
}
}