Как изменить функциональность контроллера входа в Laravel для передачи переменной - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь настроить мою установку Laravel так, чтобы при входе в систему она заполняла домашнюю страницу информацией из моей базы данных.Как я могу сжать переменную, чтобы отправить ее на домашнюю страницу?

Я пытался объявить переменную, подобную этой, в контроллере входа в систему:

$post = Post::all(); 

Но когда я это делаю, я получаюследующая ошибка:

синтаксическая ошибка, неожиданная ошибка '$ post' (T_VARIABLE), ожидающая функция (T_FUNCTION) или const (T_CONST)

Также, как я могу сжатьпеременная для отправки на домашнюю страницу?Единственный код, который направляет пользователя на домашнюю страницу, - это строка: protected $redirectTo = '/home';, и я не могу сжать переменную в этой строке, потому что для сжатия требуются скобки, подобные этой: return view('/home', compact('post'));

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

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Поскольку после успешного входа в систему вы перенаправлены на домашнюю страницу, попробуйте отобразить сообщения в HomeController@index, и вам не нужно вносить какие-либо изменения в свой контроллер входа.

В вашем HomeController просто импортируйте модель Post и верните сообщения в index.blade.php и отобразите их там, ваш HomeController будет выглядеть как

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Post; // path to your Post model
class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $posts = Post::all();
        return view('home', compact('posts'));
    }
}

и в вашем index.blade.php вы можете просматривать свои сообщения.

0 голосов
/ 01 мая 2019
namespace App\Http\Controllers;

use App\Models\Post;

class HomeController extends Controller
{
    public function index()
    {
        $posts = Post::all();

        return view('home', compact('posts'));
    }
}

Объяснение

Чтобы достичь своей цели, вам не нужно изменять $redirectTo свойство LoginController.. Поскольку это URL, который нужно перенаправить, он должен оставаться прежним, потому что все равно вам нужно перенаправить в дом. стр.

Все, что вам нужно сделать, это изменить HomeController, который Laravel уже определил для вас. Метод index() - это метод отображения страницы home. Так как ответ говорит, что измените эту функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...