Попытка получить более короткую ссылку laravel - PullRequest
1 голос
/ 09 мая 2020

Это мой первый вопрос на этом форуме, так что проявите ко мне терпение;) Я веду блог, используя Laravel, и у меня есть страница с обзором всех статей в моей базе данных введите описание изображения здесь

Последний столбец - столбец «Действие», после нажатия кнопки вы можете увидеть отдельную статью. Проблема состоит в том, чтобы показать каждый контент (заголовок, подзаголовок и т. Д. c.). Я должен создать длинный URL-адрес вроде этого http://127.0.0.1: 8000 / article / Test / Test / test / 2020-05-08% 2016: 00 : 00

Есть ли шанс вырезать URL, чтобы он выглядел так: http://127.0.0.1: 800 / article / Test и при этом все содержимое оставалось?

Файлы

web. php Route :: get ('article / {title_article} / {subtitle_created} / {text_article} / {created_at}', ' ReadController@index ');

Контроллер

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Article;
class ReadController extends Controller
{
        public function index($title_article,$subtitle_article,$text_article,$created_at) 
        {
            return view('article',compact('title_article','subtitle_article','text_article','created_at'))->with('title','Artykuł');
        }
}

1 Ответ

0 голосов
/ 09 мая 2020

Вы должны использовать primary key (возможно, увеличивающийся идентификатор) объекта вашей базы данных (App \ Article) для идентификации объекта. Laravel имеет замечательную функцию для автоматического преобразования primary key (id) в маршруте в eloquent model.

В вашем случае:

Route::get('article/{article}','ReadController@index');

и

public function index(Article $article) { ... }

Надеюсь, это вам поможет. Если вы не понимаете его части, не стесняйтесь спрашивать:)

...