Консультации с беглым в Laravel

{title}

Хотя знание того, как использовать язык SQL при создании веб-приложений, очень полезно, правда, иногда бывает немного сложно написать множество инструкций для достижения простых результатов, таких как вставка или выполнение запросов низкой или средней сложности, в дополнение к Делая вставки, мы должны защитить себя от SQL-инъекций .
беглый

Laravel предлагает нам интерфейс под названием Fluent, с помощью которого мы можем взаимодействовать с нашим механизмом базы данных без написания одного оператора SQL, что дает нам преимущество, заключающееся в том, что вам не нужно думать об оптимизации запросов или беспокоиться об SQL-инъекциях, без Однако для пользователя старой школы это может показаться немного ограничивающим.

Генерация миграции для вставки данных


Как всегда, каждый раз, когда нам нужно внести изменения в базу данных, лучше всего сделать это путем миграции, благодаря чему у нас будет история изменений, и нам не придется напрямую обращаться к ядру базы данных.
Первое, что мы должны сделать, это сгенерировать файл миграции, для этого мы будем использовать следующую команду в artisan :

 php ремесленник мигрировать: сделать add_data_to_shows_table 


Это должно сгенерировать новый файл в app / database / migrations с датой, когда мы выполняем миграцию, и именем, это может быть что-то похожее на это:

 2014_07_15_222551_add_data_to_shows_table.php 


Поскольку у нас есть наш файл, давайте посмотрим на следующем изображении, как мы модифицируем метод up (), чтобы добавить инструкции в Fluent для вставки данных:

{title}


Мы можем отметить, что мы построили 3 массива с данными, где каждый элемент соответствует полю в таблице, затем с помощью класса Laravel DB мы указываем таблицу и используем метод insert () и передаем массив, содержащий каждый массив данных и При этом мы легко вставили записи без записи одной строки в SQL .

Обратитесь к данным


Как только данные попадают в нашу таблицу, наиболее естественным является то, что мы хотим обратиться к ним, для этого нам нужно только построить модель, в которой мы можем установить параметры запроса, а затем маршрут, чтобы иметь возможность вызвать его, давайте сначала посмотрим модель:

{title}


Очень простым способом мы создаем метод, который получает параметр для порядка и ориентации указанного порядка, этот параметр должен быть одним из полей таблицы модели, затем мы устанавливаем объект типа DB, которому мы передаем таблицу в качестве параметра. из конструктора, затем просто с помощью метода get () мы получаем запрос, если у нас есть параметры упорядочения, мы сначала вызываем order_by () с ними, а затем get () .
Наконец, мы собираемся построить маршрут, для этого мы просто вызовем метод модели, и с его помощью мы сможем получить доступ к записям и показать их с помощью вспомогательного метода dd (), давайте посмотрим на следующем примере:

{title}


Как мы видим, мы смогли сделать все необходимое для вставки и чтения данных без написания строки SQL, это очень полезно, когда нам нужно выйти из повторяющихся задач и задач низкой сложности, самое интересное то, что использование Fluent не мешает нам использовать прямой SQL в при необходимости, поэтому у нас достаточно универсальности.

  • 0