как вернуть данные из контроллера в @include в Laravel? - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть вид под названием side.balde. php, который похож на боковую панель. Эта сторона вызывается для home и различных других представлений с использованием @ include.

Если я просто верну view side.balde. php с переменными / данными в моем контроллере, чем home view не сможет распознать переменные.

 return view('incs/side',compact('users','etc'));

Я могу вернуть эти данные в домашнем представлении, и все @include в домашнем представлении могут наследовать эти данные. но проблема в том, что я использую этот @include на нескольких других страницах.

как переслать данные в side.balde. php, чтобы все представления, вызывающие side.balde. php, могли получить доступ к данным ,

Ответы [ 2 ]

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

есть 2 варианта обмена данными между несколькими представлениями:

  1. Поставщик службы приложений (короткий) Откройте поставщика услуг приложения и в методе boot напишите:

    $ users = User :: get (); View :: share ('users', $ users); Теперь все ваши представления будут иметь доступ к этому ключу users.

  2. View Composers Пожалуйста, перейдите по этой ссылке, чтобы понять, как работает представление composer.

Вы можете выполнить свою работу с первым вариантом, хотя. Спасибо.

0 голосов
/ 16 апреля 2020

работает с

public function boot()
    {

      View::composer('*', function ($view) {
        //code
        $view->with('users', $users);
        });

    }

, а сверху используются use App\User; и use Illuminate\Support\Facades\View;

...