Laravel 7 добавление символа @ перед именем пользователя - PullRequest
0 голосов
/ 10 апреля 2020

Я работаю над простым проектом с Laravel 7, и я хочу активировать простой трюк в своем проекте. Я хочу добавить символ @ перед именем пользователя, как в этом примере: http://app.test/@jhondoe

Пример в реальном времени: Laracasts

это мой профиль пользователя Маршрут:

Route::get('profile/{slug}/{id}', 'Backend\UserController@UserProfile')->name('profile');

Это профиль пользователя Контроллер:

<?php

namespace App\Http\Controllers\Backend;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;

class UserController extends Controller
{
   /**
     * Show the User Profile.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function UserProfile($slug, $id)
    {
        return view('profile');
    }
}

Это простая кнопка для доступа к профилю пользователя:

<a href="{{ URL('profile') }}/{{ Auth::user()->slug }}/{{ Auth::user()->id }}" class="btn btn-info">My Profile</a>

1 Ответ

1 голос
/ 10 апреля 2020

Создайте новый маршрут

Route::get('@{user:slug}', 'Backend\UserController@UserProfile')->name('profile');

Теперь получите пользователя в контроллере

    public function UserProfile(User $user)
    {
        return view('profile',compact($user));
    }

, затем отобразите профиль пользователя в представлении, получив доступ к $user-> properties

Предполагается, что у вас есть столбец слагов в модели User и что он был проверен как уникальный при создании

...