ларавел

Конструктор запросов Laravel

Конструктор запросов Laravel
Конструктор запросов Laravel обеспечивает простой и удобный способ создания и выполнения запросов к базе данных и поддерживается всеми системами баз данных Laravel. Он используется для защиты приложения Laravel от атаки SQL-инъекции с использованием привязки параметров PDO. Этот пакет может выполнять несколько различных типов операций с базой данных, например CRUD (Вставить, Выбрать, Обновить и Удалить) и агрегатные функции, такие как СОЮЗ, СУММ, СЧЁТ, так далее. В этом руководстве показано, как применить построитель запросов для выполнения различных операций CRUD в базе данных.

Предпосылки

Перед тем, как начать это руководство, сначала выполните следующие задачи.

  1. Создайте новый проект Laravel
  2. Подключиться к базе данных

Создать таблицу

Вы можете использовать одну или несколько таблиц базы данных, чтобы применить построитель запросов для выполнения различных типов запросов. Новая таблица с именем клиенты, создан здесь, чтобы показать использование построителя запросов. Выполните следующую команду, чтобы создать файл миграции для создания структуры клиенты Таблица. Файл миграции будет создан в база данных / миграция папка после выполнения команды.

$ php artisan make: миграция create_clients_table

Откройте только что созданный файл миграции и обновите вверх() метод со следующим кодом. После выполнения команды migrate для таблицы клиентов будут созданы шесть полей. Поля идентификатор, имя, электронная почта, адрес, created_at, а также updated_at.

публичная функция вверх ()

Schema :: create ('клиенты', function (Blueprint $ table)
$ table-> id ();
$ table-> строка ('имя');
$ table-> строка ('электронная почта');
$ table-> текст ('адрес');
$ table-> отметки времени ();
);

Выполните следующую команду, чтобы создать таблицу в базе данных на основе структуры, определенной в файле миграции.

$ php artisan migrate

Вы можете проверить поля таблицы, открыв структуру клиенты стол из phpMyAdmin. Следующий вывод появится после открытия структуры таблицы.

Вставить данные в таблицу с помощью построителя запросов

Вы можете вставить данные в таблицу с помощью конструктора запросов. Здесь сеть.php файл используется для вставки трех записей в клиенты таблица и находится в маршруты папка. Откройте файл и добавьте следующий маршрут для вставки записей.

Route :: get ('вставить', function ()
/ * Вставить 1-ю запись * /
DB :: table ('clients') -> insert (['name' => 'Md. али,
'email' => '[электронная почта защищена]',
'address' => '12/1, Дханмонди, Дакка',
]);
/ * Вставить вторую запись * /
DB :: table ('клиенты') -> insert (['name' => 'Sharmin Jahan',
'email' => '[электронная почта защищена]',
'address' => '156, Мирпур, Дакка',
]);
/ * Вставить 3-ю запись * /
DB :: table ('clients') -> insert (['name' => 'Mehrab Hossain',
'email' => '[электронная почта защищена]',
'address' => '34 / A, Мохаммедпур, Дакка ',
]);
/ * Распечатать сообщение * /
эхо "

Вставлены три клиентские записи

);

Запустите следующий URL-адрес в любом браузере после запуска сервера разработки Laravel, чтобы вставить данные в клиенты Таблица.

http: // локальный: 8000 / вставить

Следующее сообщение появится в браузере после вставки данных. Вы можете проверить содержимое таблицы, открыв ее из phpMyAdmin.

Чтение данных из таблицы с помощью построителя запросов

Вы можете выполнять различные типы запросов Select с помощью построителя запросов. Четыре типа записей извлекаются с помощью построителя запросов в следующей функции маршрута. Файл представления с именем клиенты.лезвие.php здесь используется для отображения данных, полученных из таблицы, а код представления приводится позже.

Route :: get ('показать', function ()
/ * Получить все записи из таблицы клиентов * /
$ clientList1 = DB :: table ('клиенты') -> get ();
/ * Получить первую запись из таблицы клиентов * /
$ clientList2 = DB :: table ('клиенты') -> first ();
/ * Получить третью запись из таблицы клиентов * /
$ clientList3 = DB :: table ('клиенты') -> найти (3);
/ * Получение имени клиента на основе электронного письма из таблицы клиентов * /
$ clientList4 = DB :: table ('клиенты') -> где ('электронная почта', '[электронная почта защищена]') -> значение ('имя');
/ * Возвращаем значения четырех переменных в файл представления для отображения данных
Получено из таблицы * /
return view ('клиенты', ['clientList1' => $ clientList1, 'clientList2' => $ clientList2,
'clientList3' => $ clientList3, 'clientList4' => $ clientList4]);
);
клиенты.лезвие.php

Список всех клиентов



@if (@isset ($ clientList1))






@foreach ($ clientList1 как $ client1)





@endforeach
ID клиентаИмяАдресЭлектронное письмо
$ client1-> id$ client1-> name$ client1-> адрес$ client1-> email

@endif

@if (@isset ($ clientList2-> имя))

Имя 1-го клиента $ clientList2-> имя


@endif
@if (@isset ($ clientList3-> электронная почта))

Электронная почта 3-го клиента: $ clientList3-> email


@endif
@if (@isset ($ clientList4))

Имя клиента на основе электронной почты: $ clientList4


@endif

Запустите следующий URL-адрес в любом браузере после запуска сервера разработки Laravel, чтобы прочитать данные из клиенты Таблица.

http: // localhost: 8000 / показать

Следующий вывод появится в браузере после выполнения URL-адреса. Содержание $ clientList1 переменная отображается в табличной форме, а вывод $ clientList2, $ clientList3 а также $ clientList4 показаны в строке.

Обновление данных с помощью построителя запросов

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

Route :: get ('обновление', function ()
DB :: table ('clients') -> where ('id', 1) -> update (['name' => 'Mohammed Ali']);
эхо "
Имя первого клиента обновлено
";
$ clientList1 = DB :: table ('клиенты') -> get ();
return view ('клиенты', ['clientList1' => $ clientList1]);
);

Запустите следующий URL-адрес в любом браузере после запуска сервера разработки Laravel, чтобы обновить данные клиенты Таблица.

http: // localhost: 8000 / обновление

Следующий вывод появится в браузере после выполнения URL-адреса. Содержание $ clientList1 переменная отображается в табличной форме. Здесь значение название поле обновляется новым значением.

Удалить данные с помощью построителя запросов

Все записи или конкретную запись можно удалить с помощью построителя запросов. Следующая функция маршрута удалит третью запись в клиенты таблица, получить все записи после удаления и вернуть значения в файл представления.

Route :: get ('удалить', function ()
DB :: table ('клиенты') -> где ('id', '=', 3) -> delete ();
эхо "
Третья запись удалена
";
$ clientList1 = DB :: table ('клиенты') -> get ();
return view ('клиенты', ['clientList1' => $ clientList1]);
);

Запустите следующий URL-адрес в любом браузере после запуска сервера разработки Laravel, чтобы удалить запись из клиенты Таблица.

http: // локальный: 8000 / удалить

Следующий вывод появится в браузере после выполнения URL-адреса. Содержание $ clientList1 переменная отображается в табличной форме. Здесь третья запись удаляется из таблицы.

Видеоурок

Заключение

Основные способы использования построителя запросов показаны в этом руководстве, чтобы помочь новым разработчикам Laravel лучше понять методы выполнения запросов к базе данных в приложении Laravel.

Контроль и управление перемещением мыши между несколькими мониторами в Windows 10
Диспетчер мыши с двумя дисплеями позволяет контролировать и настраивать движение мыши между несколькими мониторами, замедляя ее движения возле границы...
WinMouse позволяет настраивать и улучшать движение указателя мыши на ПК с Windows
Если вы хотите улучшить функции указателя мыши по умолчанию, используйте бесплатное ПО WinMouse. Он добавляет дополнительные функции, которые помогут ...
Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...