Просто примечание для разработчиков php (у меня нет необходимых точек stackoverflow, чтобы опубликовать это как комментарий) ... автоматическое (и молчащее) преобразование в TINYINT означает, что php получает значение из столбца BOOLEAN как " 0 "или" 1 ", а не ожидаемый (по мне) true / false.
Разработчик, который смотрит на SQL, используемый для создания таблицы, и видит что-то вроде:" some_boolean BOOLEAN NOT NULL DEFAULT FALSE , «может разумно ожидать увидеть истинные / ложные результаты, когда извлекается строка, содержащая этот столбец. Вместо этого (по крайней мере, в моей версии PHP) результат будет «0» или «1» (да, строка «0» или строка «1», а не int 0/1, спасибо php).
Это нит, но достаточно, чтобы вызвать единичные тесты.
Во многом благодаря ответу @ anthony на подобный вопрос здесь , у меня, кажется, есть некоторый рабочий код ...
// Prepare Article URLs list as an array
$article_urls = array();
// Call Airtable records in pages of 100 max
do {
// Offset is either inherited from last page's results, or is nothing
$offset = $articles['offset'] ?: "";
// Make get request, store result in array
$articles = get_airtable_records($offset);
// For each URL found in Airtable
foreach($articles['records'] as $record){
$url = $record['fields']['Published url'];
// Add to our array list
if (!empty($url)) {
array_push($article_urls, $url);
}
}
} while(!empty($articles['offset'])); // If there's an offset value (ie. starting record of next page), do again
// Output URL list for check
echo '<pre>';
print_r($article_urls);
echo '</pre>';
Объяснение выглядит следующим образом:
Используйте петлю do
while
. В начале этого установите offset
либо значение, унаследованное от предыдущего запуска, либо ничего.
Моя get_airtable_records
функция уже ограничивала присутствие или отсутствие offset
в вызове API следующим образом, который добавляет строку запроса offset
к URL-адресу для следующего вызова API, если таковой имеется. .
if (!empty($offset)) {
$q_offset = '&offset='.$offset;
}
Я проверил это, и он дал мне все 137 результатов с двух страниц в моем массиве $article_urls
. Я не тестировал его с более чем двумя страницами результатов.