Подскажите пожалуйста.. Есть контроллер NewsController с кодом: Код (Text): public function indexxxx() { $novinis = App\Novini::latest('date')->get(); return view('novinis.index', compact('novinis')); } public function showwww($id) { $novini = App\Novini::findOrFail($id); $novini->increment('view'); return view('novinis.show', compact('novini')); } } Пытаюсь вывести в showwww.blade.php все посты ($novinis), пробовал так: Код (Text): public function showwww($id) { $novini = App\Novini::findOrFail($id); $novini->increment('view'); $novinis = App\Novini::latest('date')->get(); return view('novinis.show', compact('novini', 'novinis')); } В show.blade.php через цикл @foreach посты то выводятся но перейти по ним невозможно. Что я делаю не так? подскажите пожалуйста
а типа как выглядит view мы сами должны наВанговать? ну и так - как то все странно, ощущение что вы в MVC не все понимаете и путаете их ))) какие ссылки ведут на новости? есть ли роут соответствующий? есть ли view? тот самый novinis/show.blade.php есть ли какие то ошибки на экране?
Извиняюсь, я новичек. Роута два: Код (Text): Route::get('/novinis', 'NovinisController@indexxxx'); Route::get('/novinis/{novini}', 'NovinisController@showwww'); есть модель: Код (Text): namespace App; use Illuminate\Database\Eloquent\Model; class Novini extends Model { public function user() { return $this->belongsTo(User::class); } public function comments() { return $this->morphMany(Comment::class, 'commentable')->whereNull('parent_id'); } } indexxxx.blade.php циклом из базы так вывожу: Код (Text): @foreach ($novinis as $novini) <div class="row shadowcateg"> <div class="col-md-3 p-0"> <div class="view overlay rounded z-depth-1"> <a href="novinis/{{$novini->id}}"> <img class="img-fluid lazyload rounded" data-src="{{ URL::to('/') }}/siteimages/{{ $novini->img }}" alt="{{ $novini->alt }}"></a> </div> </div> <div class="col-md-9"> <p class="dark-grey-text mt-2"> </p> <a href="novinis/{{$novini->id}}"> <h5 class="font-weight-normal">{{ $novini->title }}</h5> <i class="fa fa-angle-right float-right"></i> </a> <div class="d-flex justify-content-between align-items-center"> <p style="font-size: 12px">{{$novini->date}}</p> <div class="btn-group"> <button type="button" class="btn btn-sm red"><a href="novinis/{{$novini->id}}">смотреть</a></button> </div> </div> </div> </div> <br> @endforeach и showwww.blade.php в котором вывожу так: Код (Text): <p><h1>{{ $novini->title }}</h1></p> <small style="font-size: 12px">{{$novini->date}} <i class="fa fa-eye ml-2"></i> {{$novini->view}}</small> <div class="container-fluid p-0"> <img class="img-fluid mt-1 rounded" src="{{ URL::to('/') }}/siteimages/{{ $novini->img }}" alt="{{ $novini->alt }}"> <div class="desc">{{$novini->title_image}}</div> </div> <hr> {!! $novini->contt !!} Ошибок нету никаких. Как писал выше, в контроллере пробывал так: Код (Text): public function showwww($id) { $novini = App\Novini::findOrFail($id); $novini->increment('view'); $novinis = App\Novini::latest('date')->get(); return view('novinis.showwww', compact('novini', 'novinis')); } И в showwww.blade.php через цикл вывожу так: Код (Text): @foreach ( $novinis as $novini ) <a href="novinis/{{ $novini->title }}"> ... @endforeach но когда перехожу по ссылке то URL вместо http://my.site/novinis/1 получается такой: http://my.site/novinis/novinis/1
Подскажите, я правильно view вывожу или нужно через share()? Код (Text): return view('novinis.showwww', compact('novini', 'novinis'));
share() - это немного о другом. Это передача данных во все представления сразу. Т.е., например, можно в него менюшку запихнуть и не передавать данные для меню в каждый шаблон.