Laravel 5.4 Добавьте разницу между представлениямиPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel 5.4 Добавьте разницу между представлениями

Сообщение Anonymous »

Я использую одно и то же представление для отображения одного сообщения и случайного сообщения

маршруты

Route::get('posts/{id}', 'PostsController@show')->name('posts.show');
Route::get('get-random-post', 'PostsController@getRandomPost');


методы в PostsController

public function show($id) {
$post = Post::findOrFail($id);
return view('posts.show', compact('post'));
}

public function getRandomPost() {
$post = Post::inRandomOrder()
->where('is_published', 1)->first();
return redirect()->route('posts.show', ["id" => $post->id]);
}


но теперь мне нужно добавить небольшую разницу между двумя представлениями. Как я могу это сделать?

UPD
Я добавил переменную $randomPost в методы в контроллере

public function show($id) {
$randomPost = false;
$post = Post::findOrFail($id);
return view('posts.show', compact('post', 'randomPost'));
}
public function getRandomPost() {
$randomPost = true;
$post = Post::inRandomOrder()
->where('is_published', 1)->first();
return redirect()->route('posts.show', ["id" => $post->id]);
}


и добавил код ниже, чтобы показать представление

@if($randomPost)
some text
@endif


но я не знаю, как передать переменную из getRandomPost() для просмотра?

UPD2

В результате я использовал сеанс, он работает, но я в этом не уверен

метод

public function getRandomPost() {
$post = Post::inRandomOrder()
->where('is_published', 1)->first();
session()->flash('random_post', 'ok');
return redirect()->route('posts.show', ["id" => $post->id]);
}


просмотр

@extends('layouts.app')

@section('content')
Home page
#{{$post->id}}
{!! nl2br(e($post->text)) !!}


@stop


Подробнее здесь: https://stackoverflow.com/questions/425 ... ween-views
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»