Учебник Laravel (5.7) Базы данных
Laravel сделал обработку с базой данных очень простой. Laravel в настоящее время поддерживает следующие 4 базы данных -
- MySQL
- Postgres
- SQLite
- SQL Server
Запрос к базе данных может быть запущен с использованием необработанного SQL, свободного построителя запросов и Eloquent ORM. Чтобы понять все операции CRUD (создание, чтение, обновление, удаление) с Laravel, мы будем использовать простую систему управления студентами.
Подключение к базе данных
Сконфигурируйте базу данных в файле config / database.php и создайте базу данных колледжа со структурой в MySQL, как показано в следующей таблице.
База данных: Колледж
Стол: студент
Название столбца | Тип столбца | дополнительный |
---|---|---|
Я бы | INT (11) | Первичный ключ | Автоматическое приращение |
название | VARCHAR (25) |
Мы увидим, как добавлять, удалять, обновлять и извлекать записи из базы данных, используя Laravel в таблице учеников.
Вставить запись
Мы можем вставить запись, используя фасад БД с помощью метода вставки. Синтаксис метода вставки показан в следующей таблице.
пример
Шаг 1 - Выполните приведенную ниже команду, чтобы создать контроллер с именем StudInsertController
php artisan make:controller StudInsertController --plain
Шаг 2 - После успешного выполнения шага 1 вы получите следующий вывод -
Шаг 3 - Скопируйте следующий код в файл
приложение / Http / Контроллеры / StudInsertController.php
приложение / Http / Контроллеры / StudInsertController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class StudInsertController extends Controller {
public function insertform() {
return view('stud_create');
}
public function insert(Request $request) {
$name = $request->input('stud_name');
DB::insert('insert into student (name) values(?)',[$name]);
echo "Record inserted successfully.<br/>";
echo '<a href ="/insert">Click Here</a> to go back.';
}
}
Шаг 4 - Создайте файл вида с именем
resources / views / stud_create.php и скопируйте следующий код в этот файл.
ресурсы / виды / stud_create.php
<html>
<head>
<title>Student Management | Add</title>
</head>
<body>
<form action ="/create" method ="post">
<input type ="hidden" name ="_token" value ="<?php echo csrf_token(); ?>">
<table>
<tr>
<td>Name</td>
<td><input type='text' name='stud_name' /></td>
</tr>
<tr>
<td colspan ='2'>
<input type ='submit' value ="Add student"/>
</td>
</tr>
</table>
</form>
</body>
</html>
Шаг 5 - Добавьте следующие строки в app / Http / rout.php. приложение / Http / routes.php
Route::get('insert','[email protected]');
Route::post('create','[email protected]');
6 - Посетите следующий URL, чтобы вставить запись в базу данных.
HTTP: // локальный: 8000 / вставка
Получить запись
После настройки базы данных мы можем извлечь записи, используя фасад БД с помощью метода select. Синтаксис метода выбора показан в следующей таблице.
Синтаксис
выбор массива (строка $ query, array $ bindings = array ())
параметры
название | Описание |
---|---|
$ Запроса (строка) | запрос для выполнения в базе данных |
$ привязок (массив) | значения для привязки с запросами |
Возвращает
массив
Описание
Запустите оператор выбора для базы данных.
пример
Шаг 1 - Выполните приведенную ниже команду, чтобы создать контроллер с именем StudViewController.
php artisan make:controller StudViewController --plain
Шаг 2 - После успешного выполнения шага 1 вы получите следующий вывод -
Шаг 3 - Скопируйте следующий код в файл
приложение / Http / Контроллеры / StudViewController.php
приложение / Http / Контроллеры / StudViewController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class StudViewController extends Controller {
public function index() {
$users = DB::select('select * from student');
return view('stud_view',['users'=>$users]);
}
}
Шаг 4 - Создайте файл вида с именем
resources / views / stud_view.blade.php и скопируйте следующий код в этот файл.
resources / views / stud_view.blade.php
<html>
<head>
<title>View Student Records</title>
</head>
<body>
<table border = 1>
<tr>
<td>ID</td>
<td>Name</td>
</tr>
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
</tr>
@endforeach
</table>
</body>
</html>
Шаг 5 - Добавьте следующие строки в app / Http / rout.php. приложение / Http / routes.php
Route::get('view-records','[email protected]');
Шаг 6 - Посетите следующий URL, чтобы просмотреть записи из базы данных. Http: // Localhost: 8000 / представление-записи
Обновить запись
Мы можем обновить записи, используя фасад БД с методом обновления. Синтаксис метода обновления показан в следующей таблице.
Синтаксис
int update (строка $ query, array $ bindings = array ())
параметры
название | Описание |
---|---|
$ Запроса (строка) | запрос для выполнения в базе данных |
$ привязок (массив) | значения для привязки с запросами |
Возвращает
ИНТ
Описание
Запустите оператор обновления для базы данных.
пример
Обратите внимание на следующий пример, чтобы понять больше об обновлении записей -
Шаг 1 - Выполните приведенную ниже команду, чтобы создать контроллер с именем StudViewController.
php artisan make:controller StudUpdateController --plain
Шаг 2 - После успешного выполнения вы получите следующий вывод -
Шаг 3 - Скопируйте следующий код в файл app / Http / Controllers / StudUpdateController.php
приложение / Http / Контроллеры / StudUpdateController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class StudUpdateController extends Controller {
public function index() {
$users = DB::select('select * from student');
return view('stud_edit_view',['users'=>$users]);
}
public function show($id) {
$users = DB::select('select * from student where id = ?',[$id]);
return view('stud_update',['users'=>$users]);
}
public function edit(Request $request,$id) {
$name = $request->input('stud_name');
DB::update('update student set name = ? where id = ?',[$name,$id]);
echo "Record updated successfully.<br/>";
echo '<a href ="/edit-records">Click Here</a> to go back.';
}
}
Шаг 4 - Создайте файл вида с именем
resources / views / stud_edit_view.blade.php и скопируйте следующий код в этот файл.ресурсы / виды / stud_edit_view.blade.php
<html>
<head>
<title>View Student Records</title>
</head>
<body>
<table border ="1">
<tr>
<td>ID</td>
<td>Name</td>
<td>Edit</td>
</tr>
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td><a href ='edit/{{ $user->id }}'>Edit</a></td>
</tr>
@endforeach
</table>
</body>
</html>
Шаг 5 - Создайте другой файл представления с именем resources / views / stud_update.php и скопируйте следующий код в этот файл.
ресурсы / виды / stud_update.php
<html>
<head>
<title>Student Management | Edit</title>
</head>
<body>
<form action ="/edit/<?php echo $users[0]->id; ?>" method ="post">
<input type ="hidden" name ="_token" value ="<?php echo csrf_token(); ?>">
<table>
<tr>
<td>Name</td>
<td>
<input type ='text' name ='stud_name'
value ='<?php echo$users[0]->name; ?>'/>
</td>
</tr>
<tr>
<td colspan ='2'>
<input type ='submit' value ="Update student" />
</td>
</tr>
</table>
</form>
</body>
</html>
Шаг 6 - Добавьте следующие строки в app / Http / rout.php. приложение / Http / routes.php.
Route :: get ('edit-records', ' [электронная почта защищена] ');
Route :: get ('edit / {id}', ' [электронная почта защищена] ');
Route :: post ('edit / {id}', ' [электронная почта защищена] ');
Шаг 7 - Посетите следующий URL, чтобы обновить записи в базе данных.
Http: // Localhost: 8000 / редактирование-записи
Удалить запись
Мы можем удалить запись, используя фасад БД с помощью метода delete. Синтаксис метода удаления показан в следующей таблице.
Синтаксис
int delete (строка $ query, array $ bindings = array ())
параметры
название | Описание |
---|---|
$ Запроса (строка) | запрос для выполнения в базе данных |
$ привязок (массив) | значения для привязки с запросами |
Возвращает
ИНТ
Описание
Запустите оператор удаления для базы данных.
пример
Шаг 1 - Выполните приведенную ниже команду, чтобы создать контроллер с именем StudDeleteController.
php artisan make:controller StudDeleteController --plain
Шаг 2 - После успешного выполнения вы получите следующий вывод -
Шаг 3 - Скопируйте следующий код в файл
приложение / Http / Контроллеры / StudDeleteController.php
приложение / Http / Контроллеры / StudDeleteController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class StudDeleteController extends Controller {
public function index() {
$users = DB::select('select * from student');
return view('stud_delete_view',['users'=>$users]);
}
public function destroy($id) {
DB::delete('delete from student where id = ?',[$id]);
echo "Record deleted successfully.
";
echo '<a href ="/delete-records">Click Here</a> to go back.';
}
}
Шаг 4 - Создайте файл представления с именем resources / views / stud_delete_view.blade.php и скопируйте следующий код в этот файл.
ресурсы / виды / stud_delete_view.blade.php
<html>
<head>
<title>View Student Records</title>
</head>
<body>
<table border ="1">
<tr>
<td>ID</td>
<td>Name</td>
<td>Edit</td>
</tr>
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td><a href ='delete/{{ $user->id }}'>Delete</a></td>
</tr>
@endforeach
</table>
</body>
</html>
Шаг 5 - Добавьте следующие строки в app / Http / rout.php. приложение / Http / routes.php
Route :: get ('delete-records', ' [email protected] ');
Route :: get ('delete / {id}', ' [email protected] ');
Предыдущая: Laravel (5.7) Планирование задач
Далее: Учебник Laravel (5.7) Миграция
Новый контент: Composer: менеджер зависимостей для PHP , R программирования