Posted on 5 марта, 2020
Laravel создать модель, контроллер и миграцию одной командой
Модель миграцию и контроллер проще всего создать одной командой:
php artisan make:model MyModel -mcr
Posted on 5 марта, 2020
Добавить данные в seeds
Чтобы добавить данные в seeds нужно выполнить команду:
php artisan db:seed --class=НазваниеВашегоКласса
Posted on 4 марта, 2020
Хитрости адресации 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
Posted on 29 января, 2020
Laravel контроллеры
Контроллеры — это посредники между запросом пользователя и БД
Создать контроллер можно с помощью команды консоли
php artisan make:controller FirstController
- Передача управления контроллеру. В файле роутов (обычно 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');
Posted on 29 января, 2020
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
Posted on 17 января, 2020
Bootstrap 4 выравнивание по горизонтали и вертикали содердимого блока
Для выравнивание по вертикали содержимого <div> служит класс
align-self-center
Для выравнивания по горизонтали содержимого <div> служит класс
text-center
Posted on 10 января, 2020
Импорт большого дампа БД в OpenServer через консоль
Смотрим версию MySql в конфиге OpenServer
У меня MySQL-5.7. Переходим в папку БД через консоль:
cd modules\database\MySQL-5.7\bin
Вводим команду для импорта
mysql -uroot lockhost < D:\lockhost.sql
Где lockhost — имя базы в которую импортируем данные. А lockhost.sql — полный путь к файлу sql. Жмем Enter и наслаждаемся результатом.