MySql заполнение столбца таблицы данными из другой таблицы

Если вам нужен пример запроса то вот он:

UPDATE table_1, table_2
SET table_1.data_1 = table_2.date_2
WHERE table_1.data_1_1 = table_2.data_2_2

А теперь немного пояснения. В блоке UPDATE мы указываем название обеих таблиц. В блоке SET мы указываем в какое поле таблицы.1 мы будем записывать данные из таблицы.2 (и указываем из какого поля). В блоке WHERE мы указываем какие данные из какие данные из таблицы.1 должны соответствовать данным из таблицы.2

Выборка из 2х таблиц MySql

Выбрать однотипные данные из 2х таблиц, можно запросом

SELECT user, name FROM Customers UNION SELECT user, name FROM Employees;

Мы с помощью Union объединяем два запроса. В результате получим данные полей user и name из 2х таблиц Customers и Employees за исключением дублей. То есть если данные полностью совпадут, и результат попадет только одно совпадение.

Laravel создать модель, контроллер и миграцию одной командой

Модель миграцию и контроллер проще всего создать одной командой:

php artisan make:model MyModel -mcr

Добавить данные в seeds

Чтобы добавить данные в seeds нужно выполнить команду:

php artisan db:seed --class=НазваниеВашегоКласса

Хитрости адресации Laravel

При указании адреса в виде (view) типа:

{{ route('sale.update') }}

Мы указываем, что в файле роутинга есть путь /sale и метод (какого-то контроллера) который его обрабатывает update

При указании адреса в виде (view) типа:

{{ route('profile.sale.update') }}

Мы по факту указываем путь в файле роутинга (web). То есть наша запись означает что в каталоге web есть файл роутинга profile. В нем указан путь sale и метод который его обрабатывает update

При адресации в контроллере вида:

return view('home.welcome')

Мы указываем, что в папке views есть папка home и в ней файл вида welcome.blade.php

Laravel контроллеры

Контроллеры — это посредники между запросом пользователя и БД

Создать контроллер можно с помощью команды консоли

php artisan make:controller FirstController

  1. Передача управления контроллеру. В файле роутов (обычно web.php) указываем адрес по которому отработает определенный контроллер и метод этого контроллера, который обработает данный запрос.

Route::get('about', 'FirstController@show');

При переходе по адресу www.site.ru/about отработает контроллер FirstController путем вызова метода show.

В контроллер можно передавать свои параметры, например id страницы

Route::get('page/{id}', 'FirstController@pageshow');

В этом случае в методе show контроллера FirstController должен быть обработчик этих параметров.

Один контроллер может обрабатывать несколько адресов, если для каждого адреса определить соответствующий метод в контроллере

Соответственно в контроллере заводим описанные методы

class FirstController extends Controller
{
    public function show() {

}

    public function pageshow($id) {

}

Именованные маршруты

С помощью именованных маршрутов можно удобно генерировать URL-адреса и делать переадресацию на определенный маршрут.

Вы можете задать имя маршрута, присоеденив метод name() к определению маршрута в файле роутов:

Route::get('user/profile', function () { // })->name('profile');



Laravel каскадное удаление данных

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

$table->foreign('order_id')->references('id')->on('order')
->onUpdate('cascade')->onDelete('cascade');

Эта запись означает, что имеет поле order_id связанное с полем id в таблице order.

При изменении id в таблице order нужно каскадно изменить все значения order_id нашей страницы.

При удалении id в таблице order нужно каскадно удалить все строки с order_id принадлежащие этому id

Bootstrap 4 выравнивание по горизонтали и вертикали содердимого блока

Для выравнивание по вертикали содержимого <div> служит класс

align-self-center

Для выравнивания по горизонтали содержимого <div> служит класс

text-center

Импорт большого дампа БД в OpenServer через консоль

Смотрим версию MySql в конфиге OpenServer

У меня MySQL-5.7. Переходим в папку БД через консоль:

cd modules\database\MySQL-5.7\bin

Вводим команду для импорта

mysql -uroot lockhost < D:\lockhost.sql

Где lockhost — имя базы в которую импортируем данные. А lockhost.sql — полный путь к файлу sql. Жмем Enter и наслаждаемся результатом.

Цвета Bootstrap

Основные цвета Bootstrap