@bpGusar
*spoiler*

Почему view не видит значения переменной?

Контроллер
<?php

namespace App\Http\Controllers;

use DB;
use App\Posts;
use App\CategoryNews;
use Illuminate\Http\Request;

class DashPosts extends Controller
{
//остальные функции

    public function create()
    {
        $category = DB::table('post_category')->pluck('cat_name', 'id_cat');
        // если прописать dd($category); то всё нормально показывает, всё загружается
        return view('admin.posts.createpost')->withPost($category);
    }

//остальные функции
}


В view делаю так
<div class="form-group">
            {!! Form::label('id_cat', 'Категория') !!}
            {!! Form::select('id_cat', $category, null, ['class' => 'form-control']) !!}
        </div>


но выдает ошибку

(1/2) ErrorException
Undefined variable: category


и

(2/2) ErrorException
Undefined variable: category (View: путь_к_вьюхе)


Сам контроллер создан для добавления новостей на сайт, эта фукнция создана для того , что бы в select выгрузить из базы названия категорий.

Что не так, может вы поймете?
  • Вопрос задан
  • 320 просмотров
Решения вопроса 2
amelihovv
@amelihovv
Фулстек веб разработчик
Вы пишете
return view('admin.posts.createpost')->withPost($category);

что равносильно
return view('admin.posts.createpost', [
  'post' => $category,
]);

то есть во view переменная $category будет под именем $post
Делайте так
return view('admin.posts.createpost', [
  'category' => $category,
]);

или так
return view('admin.posts.createpost', compact('category')]);

или так
return view('admin.posts.createpost')->withCategory($category);
Ответ написан
Комментировать
Xardch
@Xardch
Передайте категории вторым аргументом в функции view

return view('admin.posts.createpost', compact('category'));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы