кодесурса
«Laravel

Учебник Laravel (5.7) Базы данных

script1adsense2code
script1adsense3code

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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code