UPD: прежде чем отрисуется news.blade.php сначала грузится ваш шаблон index (@extends('index')), где $articles не существует
Решение: в news.blade.php не должно быть никаких @extends
---------------------------------------
нужно больше кода, поправьте вопрос и добавьте шаблон и эту вьюшку default.articles.news.blade.php
а пока вот этот недочет:
class ArticleController extends Controller
{
public function index($id)
{
$article = Article::query()->select('*')->where('id', $id)->first();
return view('default.articles.news', ['article' => $article]);
}
}
вот еще улучшение для ArticleController:
use App\Article;
class ArticleController extends Controller
{
public function index(Article $article)
{
return view('default.articles.news', ['article' => $article]);
}
}
но в идеале ArticleController должен выдавать все статьи в методе index, а показывать отдельную статью в методе show,
а IndexController вообще не нужен, в данном случае