laravel

Laravel Query Builder

Laravel Query Builder
Създателят на заявки на Laravel осигурява лесен и удобен начин за създаване и изпълнение на заявки към база данни и се поддържа от всички системи за бази данни на Laravel. Използва се за защита на приложението Laravel от SQL инжекционна атака, като се използва обвързване на PDO параметър. Този пакет може да изпълнява няколко различни типа операции с бази данни, като например СУРОВ (Вмъкване, избор, актуализиране и изтриване) и обобщени функции, като например СЪЮЗ, СУМА, БРОЙ, и т.н. Този урок ви показва как да приложите конструктор на заявки за извършване на различни CRUD операции в базата данни.

Предпоставки

Преди да започнете този урок, първо изпълнете следните задачи.

  1. Създайте нов проект на Laravel
  2. Направете връзка с база данни

Създайте таблица

Можете да използвате една или повече таблици на базата данни, за да приложите конструктор на заявки за изпълнение на различни видове заявки. Нова таблица, наречена клиенти, е създаден тук, за да покаже употребите на конструктора на заявки. Изпълнете следната команда, за да създадете файл за миграция за създаване на структурата на клиенти маса. Файл за миграция ще бъде създаден в база данни / миграция папка след изпълнение на командата.

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

Отворете новосъздадения файл за миграция и актуализирайте нагоре () метод със следния код. Шест полета ще бъдат генерирани за клиентската таблица след стартиране на командата за мигриране. Полетата са id, име, имейл, адрес, created_at, и updated_at.

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

Schema :: create ('clients', function (Blueprint $ table)
$ таблица-> id ();
$ table-> string ('name');
$ table-> string ('имейл');
$ таблица-> текст ('адрес');
$ table-> timestamps ();
);

Изпълнете следната команда, за да създадете таблицата в базата данни въз основа на структурата, дефинирана в миграционния файл.

$ php занаятчия мигрира

Можете да проверите полетата на таблицата, като отворите структурата на клиенти таблица от phpMyAdmin. След отваряне ще се появи след отваряне на структурата на таблицата.

Вмъкване на данни в таблица с помощта на Query Builder

Можете да вмъкнете данни в таблицата с помощта на конструктора на заявки. Ето, уеб.php файл се използва за вмъкване на три записа в клиенти и се намира в маршрути папка. Отворете файла и добавете следния маршрут, за да вмъкнете записите.

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

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

);

Стартирайте следния URL във всеки браузър, след като стартирате сървъра за разработка на Laravel, за да вмъкнете данните в клиенти маса.

http: // localhost: 8000 / вмъкване

Следното съобщение ще се появи в браузъра след вмъкване на данните. Можете да проверите съдържанието на таблицата, като я отворите от phpMyAdmin.

Четете данни от таблицата с помощта на Query Builder

Можете да изпълнявате различни видове заявки за избор, като използвате конструктора на заявки. Четирите типа записи се извличат с помощта на конструктора на заявки в следната функция на маршрута. Име на файл с изглед клиенти.острие.php се използва тук, за да покаже данните, извлечени от таблицата и кодът на изгледа е даден по-късно.

Route :: get ('show', function ()
/ * Извличане на всички записи от таблицата на клиентите * /
$ clientList1 = DB :: table ('clients') -> get ();
/ * Извличане на първия запис от таблицата на клиентите * /
$ clientList2 = DB :: table ('clients') -> first ();
/ * Извличане на третия запис от таблицата на клиентите * /
$ clientList3 = DB :: table ('clients') -> find (3);
/ * Извличане на името на клиент въз основа на имейла от таблицата на клиентите * /
$ clientList4 = DB :: table ('clients') -> where ('email', '[email protected]') -> value ('name');
/ * Върнете стойностите на четирите променливи във файла с изглед, за да покажете данните
Взето от таблицата * /
връщане на изглед ('clients', ['clientList1' => $ clientList1, 'clientList2' => $ clientList2,
'clientList3' => $ clientList3, 'clientList4' => $ clientList4]);
);
клиенти.острие.php

Списък на всички клиенти



@if (@isset ($ clientList1))






@foreach ($ clientList1 като $ client1)





@endforeach
Идентификатор на клиентаИмеАдреселектронна поща
$ client1-> id$ client1-> name$ client1-> адрес$ client1-> имейл

@endif

@if (@isset ($ clientList2-> name))

Името на първия клиент е $ clientList2-> name


@endif
@if (@isset ($ clientList3-> имейл))

Имейлът на третия клиент е $ clientList3-> имейл


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

Името на клиента въз основа на имейл е $ clientList4


@endif

Стартирайте следния URL във всеки браузър, след като стартирате сървъра за разработка на Laravel, за да прочетете данните от клиенти маса.

http: // localhost: 8000 / show

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

Актуализиране на данни с помощта на Query Builder

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

Route :: get ('update', function ()
DB :: table ('clients') -> where ('id', 1) -> update (['name' => 'Mohammed Ali']);
ехо "
Името на първия клиент се актуализира
";
$ clientList1 = DB :: table ('clients') -> get ();
изглед за връщане ('client', ['clientList1' => $ clientList1]);
);

Изпълнете следния URL във всеки браузър, след като стартирате сървъра за разработка на Laravel, за да актуализирате данните на клиенти маса.

http: // localhost: 8000 / актуализация

Следният изход ще се появи в браузъра след изпълнение на URL адреса. Съдържанието на $ clientList1 променливата е показана в таблична форма. Тук стойността на име полето се актуализира с новата стойност.

Изтриване на данни с помощта на Query Builder

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

Route :: get ('delete', function ()
DB :: table ('clients') -> where ('id', '=', 3) -> delete ();
ехо "
Третият запис се изтрива
";
$ clientList1 = DB :: table ('clients') -> get ();
изглед за връщане ('client', ['clientList1' => $ clientList1]);
);

Стартирайте следния URL във всеки браузър, след като стартирате сървъра за разработка на Laravel, за да изтриете запис от клиенти маса.

http: // localhost: 8000 / изтриване

Следният изход ще се появи в браузъра след изпълнение на URL адреса. Съдържанието на $ clientList1 променливата е показана в таблична форма. Тук третият запис се изтрива от таблицата.

Видео урок

Заключение

Основните приложения на конструктора на заявки са показани в този урок за подпомагане на новите разработчици на Laravel да разберат по-добре методите за изпълнение на заявки към база данни в приложението Laravel.

Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...
Vulkan за потребители на Linux
С всяко ново поколение графични карти виждаме, че разработчиците на игри преместват границите на графичната вярност и се приближават една крачка до фо...