Рубрики
Uncategorized

В этом посте предполагается, что вы используете MySQL или PostgreSQL. Если вы все еще читаете это, это означает, что вы находитесь в такой ситуации, и из-за этого я больше не буду вас задерживать. Составные индексы Производительность запроса во многом зависит от того, какие столбцы помечены как индексы. Первичный ключ, обычно поле идентификатора, скорее всего, помечен как индекс, это означает, что вы можете очень быстро запросить запись в таблице базы данных, однако, когда вы не используете индексы для интересующих вас полей, база данных должна вычислить ваш запрос и посмотреть, используете ли вы индекс в запрошенном поле, база данных – это то, что мы сделаем для полиморфных отношений. готовый нож Если в ваших таблицах базы данных нет 100.000 записей или более, это учебное пособие Laravel 8 # 2: Маршрутизация Я надеюсь, что вы сочли этот пост полезным, он определенно помог мне решить некоторые проблемы с запросами. После того, как вы перенесли эту миграцию, у вас снова должны быть очень быстрые запросы. Индек

В этом посте предполагается, что вы используете MySQL или PostgreSQL. Если вы все еще читаете это, это означает, что вы находитесь в такой ситуации, и из-за этого я больше не буду вас задерживать. Составные индексы Производительность запроса во многом зависит от того, какие столбцы помечены как индексы. Первичный ключ, обычно поле идентификатора, скорее всего, помечен как индекс, это означает, что вы можете очень быстро запросить запись в таблице базы данных, однако, когда вы не используете индексы для интересующих вас полей, база данных должна вычислить ваш запрос и посмотреть, используете ли вы индекс в запрошенном поле, база данных – это то, что мы сделаем для полиморфных отношений. готовый нож Если в таблицах вашей базы данных нет 100 000 записей или более, вы можете загрузить исходный код этого руководства здесь: https://www.techjblog.com/index.php/laravel-t … Laravel 8 Учебник № 2: Маршрутизация Я надеюсь, что вы нашли этот пост полезным, он определенно помог мне решить некоторые проблемы с запросами.

В этом посте предполагается, что вы используете MySQL или PostgreSQL. Если вы все еще читаете это, это означает, что вы находитесь в такой ситуации, и из-за этого я больше не буду вас задерживать. Составные индексы Производительность запроса во многом зависит от того, какие столбцы помечены как индексы. Первичный ключ, обычно поле идентификатора, скорее всего, помечен как индекс, это означает, что вы можете очень быстро запросить запись в таблице базы данных, однако, когда вы не используете индексы для интересующих вас полей, база данных должна вычислить ваш запрос и посмотреть, используете ли вы индекс в запрошенном поле, база данных – это то, что мы сделаем для полиморфных отношений. готовый нож Если в ваших таблицах базы данных нет 100.000 записей или более, это учебное пособие по Laravel (серия из 12 частей) Учебное пособие по Laravel 8 #2: Маршрутизация с тегом laravel, php, учебное пособие, для начинающих. Вы можете скачать исходный код этого руководства здесь: https://www.techjblog.com/index.php/laravel-t … Laravel 8 Учебник № 2: Маршрутизация Я надеюсь, что вы нашли этот пост полезным, он определенно помог мне решить некоторые проблемы с запросами. После того, как вы перенесли эту миграцию, у вас снова должны быть очень быстрые запросы. Индекс, называемый causer, содержит комбинацию causer_id и causer_type. Это означает, что я создаю индекс под названием subject, который содержит комбинацию subject_id и subject_type. При взгляде на метод up() вы можете видеть, что первый аргумент, переданный в $this->index(), является массивом. Так что у всех будущих пользователей пакета не будет такой же проблемы. С тех пор я сделал запрос на извлечение в репозиторий GitHub, и это было одобрено. В этом случае индексы для полиморфных отношений в пакете spatie/activitylog не были включены из коробки. Ниже я приведу вам конкретную конфигурацию миграции, которую я использовал для создания индексов в таблице activity_log. Сначала выполните новую миграцию с помощью make:миграция. Теперь, когда вы понимаете, что мы делаем, давайте перейдем к коду. При миграции Laravel Вместе эти два столбца образуют единую взаимосвязь, поэтому мы собираемся создать единый индекс для комбинации двух столбцов. Ну а для того, чтобы запросить соответствующую модель, вам понадобятся столбцы *_type и *_id. Так почему же составной индекс? Именно тогда я заметил, что столбцы *_type и *_id не были помечены как индекс. В моем случае в рассматриваемой таблице было более 4 миллионов записей, поэтому меня действительно удивило, что запрос был медленным, потому что 4 миллиона – это не такое большое число, чтобы запрос был медленным. Ваш запрос будет очень быстрым, но вы не заметите слишком большой разницы. на самом деле это не принесет вам слишком большой пользы. передает именно то, что вы хотите, и может очень быстро вернуть запрошенные записи. записи в таблице, чтобы выяснить, соответствует ли она вашему запросу или нет. совпадающий идентификатор.

В этом посте предполагается, что вы используете MySQL или PostgreSQL. Если вы все еще читаете это, это означает, что вы находитесь в такой ситуации, и из-за этого я больше не буду вас задерживать. Составные индексы Производительность запроса во многом зависит от того, какие столбцы помечены как индексы. Первичный ключ, обычно поле идентификатора, скорее всего, помечен как индекс, это означает, что вы можете очень быстро запросить запись в таблице базы данных, однако, когда вы не используете индексы для интересующих вас полей, база данных должна вычислить ваш запрос и посмотреть, используете ли вы индекс в запрошенном поле, база данных – это то, что мы сделаем для полиморфных отношений. готовый нож Если в таблицах вашей базы данных нет 100.000 записей или более, то вы можете скачать исходный код этого руководства здесь: https://www.techjblog.com/index.php/laravel-tutorial-for-beginners/Учебное пособие по Laravel (серия из 12 частей) Учебное пособие по Laravel 8 #2: Маршрутизация с тегом laravel, php, учебное пособие, для начинающих. Вы можете скачать исходный код этого руководства здесь: https://www.techjblog.com/index.php/laravel-t … Laravel 8 Учебник № 2: Маршрутизация Я надеюсь, что вы нашли этот пост полезным, он определенно помог мне решить некоторые проблемы с запросами. После того, как вы перенесли эту миграцию, у вас снова должны быть очень быстрые запросы. Индекс, называемый causer, содержит комбинацию causer_id и causer_type. Это означает, что я создаю индекс под названием subject, который содержит комбинацию subject_id и subject_type. При взгляде на метод up() вы можете видеть, что первый аргумент, переданный в $this->index(), является массивом. Так что у всех будущих пользователей пакета не будет такой же проблемы. С тех пор я сделал запрос на извлечение в репозиторий GitHub, и это было одобрено. В этом случае индексы для полиморфных отношений в пакете spatie/activitylog не были включены из коробки. Ниже я приведу вам конкретную конфигурацию миграции, которую я использовал для создания индексов в таблице activity_log. Сначала выполните новую миграцию с помощью make:миграция. Теперь, когда вы понимаете, что мы делаем, давайте перейдем к коду. При миграции Laravel Вместе эти два столбца образуют единую взаимосвязь, поэтому мы собираемся создать единый индекс для комбинации двух столбцов. Ну а для того, чтобы запросить соответствующую модель, вам понадобятся столбцы *_type и *_id. Так почему же составной индекс? Именно тогда я заметил, что столбцы *_type и *_id не были помечены как индекс. В моем случае в рассматриваемой таблице было более 4 миллионов записей, поэтому меня действительно удивило, что запрос был медленным, потому что 4 миллиона – это не такое большое число, чтобы запрос был медленным. Ваш запрос будет очень быстрым, но вы не заметите слишком большой разницы. на самом деле это не принесет вам слишком большой пользы. передает именно то, что вы хотите, и может очень быстро вернуть запрошенные записи. записи в таблице, чтобы выяснить, соответствует ли она вашему запросу или нет. совпадающий идентификатор.

Во второй части нашего урока мы рассмотрим маршрутизацию в Laravel, которая является отправной точкой нашего проекта.

Базовая маршрутизация

Самый простой маршрутизатор в Laravel принимает URL-адрес, а затем возвращает значение. Значением может быть строка, представление или контроллер. Все маршруты хранятся в маршруты/web.php :

web.php

Этот фрагмент кода означает, что когда маршрутизатор Laravel получает ” / “, он возвращает представление под названием ” добро пожаловать “, которое находится по адресу resources/views/welcome.blade.php .

Откройте браузер, перейдите по ссылке http://localhost , вы получите это

Чтобы убедиться, что это именно то представление, которое было возвращено, мы вносим некоторые изменения в welcome.blade.php добавив следующий код где-нибудь в файле.

Test

Обновите браузер, и мы увидим только что внесенные изменения,

Кроме того, мы можем заставить его возвращать строку:

web.phpRoute::get('/', function () {
    return 'Hello, World!';
});

Когда маршрутизатор Laravel получает ” / ” вместо представления, он возвращает строку ” Здравствуй, Мир! “,

Обновите браузер,

Или мы можем заставить его возвращать контроллер, который указывает на представление. Мы подробно поговорим о контроллерах в следующей статье.

Route::get('/user', [UserController::class, 'index']);

Эта строка кода означает, что если маршрутизатор получит “/user”, Laravel перейдет к UserController и вызовет метод index . Помните, что это новый синтаксис в Laravel 8, старый синтаксис здесь работать не будет!

Параметры маршрута

Иногда вам необходимо использовать сегменты в URL-адресе в качестве параметров. Например, представьте, что у нас есть полностью разработанное приложение для блога, и представьте, что есть пользователь, который ищет сообщение в блоге с помощью пули тестовый пост , и он пытается найти этот пост, поместив http://www.myblog.com/post/test-post в своем браузере.

Чтобы убедиться, что пользователь найдет правильное сообщение, нам нужно взять последнюю часть этого URL-адреса и отправить его в серверную часть в качестве параметра. После этого наш контроллер может использовать этот параметр, чтобы найти правильную запись и вернуть ее обратно пользователю.

Для этого мы пишем следующий код:

Route::get('post/{slug}', [PostController::class, 'show']);

Это позволит убедиться, что маршрутизатор Laravel обрабатывает все после post/ в качестве параметра и присваивает ему имя slug когда Laravel отправляет его на серверную часть. Параметры маршрута всегда заключаются в фигурные скобки {} и должны состоять из буквенных символов и могут не содержать символа - .

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

Именованные маршруты позволяют удобно создавать URL-адреса или перенаправления для определенных маршрутов. Вы можете указать имя для маршрута, изменив метод имя в определении маршрута.

Route::get('user/profile', [UserController::class, 'show'])->name('profile');

И теперь, когда нам нужно получить доступ к этому URL-адресу, все, что нам нужно сделать, это вызвать функцию маршрут ('профиль') .

Конечно, это всего лишь элементарное введение в маршрутизацию Laravel. В официальной документации есть целый раздел о маршрутизации если вам интересно.

В следующей статье мы рассмотрим структуру MVC, которая сегодня обычно используется большинством фреймворков веб-разработки.

Статьи по теме

Как сделать Ваш Сервер Более безопасным

Учебник По Laravel Для Начинающих

Учебник По Джанго Для Начинающих

Создайте Преобразователь Единиц Измерения с Vue.js

Учебное пособие по Laravel (Серия из 12 частей)

Оригинал: “https://dev.to/ericnanhu/laravel-tutorial-2-routing-ojo”