Массив в памяти. Ключ - название книги, значение - её ID.
Формировать этот массив до начала основной обработки, с помощью BookTable::getList
Я обычно что-то подобное делаю при импорте данных: получаю одним запросом список существующих в нужной таблице EXTERNAL_ID, а потом проверяю, если такой идентификатор есть в списке, то будет update, в противном случае add. Так получается меньше запросов, но тратится чуть больше памяти - обычно это выгоднее.
Но повторюсь, тут все зависит от конкретной ситуации. Александр Маджугин ниже тоже нормальное решение предложил
Snatch87, проще всего хранить всё в одном бандле, а на модули делить в исходниках.
Например, у вас может быть одна точка входа - src/app.js, в которой вы подключаете src/reports.js, src/tasks.js и так далее.
Это все собирается в один bundle.js, который подключается на всех страницах. Несмотря на то, что файл может получиться немаленький, пользователь загрузит его всего раз - и далее он попадет в кеш браузера.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Формировать этот массив до начала основной обработки, с помощью BookTable::getList
Я обычно что-то подобное делаю при импорте данных: получаю одним запросом список существующих в нужной таблице EXTERNAL_ID, а потом проверяю, если такой идентификатор есть в списке, то будет update, в противном случае add. Так получается меньше запросов, но тратится чуть больше памяти - обычно это выгоднее.
Но повторюсь, тут все зависит от конкретной ситуации. Александр Маджугин ниже тоже нормальное решение предложил