Неопределенная переменная: категория в edit.blade - PullRequest
0 голосов
/ 14 мая 2019

edit.blade.php

    @extends('admin.layout')

        @section('content')
        <!-- Content Wrapper. Contains page content -->
          <div class="content-wrapper">
            <!-- Content Header (Page header) -->
            <section class="content-header">
              <h1>
                Добавить категорию
                <small>приятные слова..</sma

ll>
          </h1>
        </section>

        <!-- Main content -->
        <section class="content">

          <!-- Default box -->
          <div class="box">
            <div class="box-header with-border">
              <h3 class="box-title">Меняем категорию</h3>
              @include('admin.errors')
            </div>
            <div class="box-body">
            {{Form::open(['route'=>['categories.update',$category->id], 'method'=>'put'])}}
              <div class="col-md-6">
                <div class="form-group">
                  <label for="exampleInputEmail1">Название</label>
                  <input type="text" class="form-control" id="exampleInputEmail1" name="title" placeholder="" value="{{$category->title}}">
                </div>
            </div>
          </div>
            <!-- /.box-body -->
            <div class="box-footer">
              <button class="btn btn-default">Назад</button>
              <button class="btn btn-warning pull-right">Изменить</button>
            </div>
            <!-- /.box-footer-->
            {{Form::close()}}
          </div>
          <!-- /.box -->

        </section>
        <!-- /.content -->
      </div>
      <!-- /.content-wrapper -->

    @endsection

    <?php

namespace App\Http\Controllers\Admin;
use View;
use App\Category;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class CategoriesController extends Controller
{
  public function index()
    {
        $categories = Category::all();

        return view('admin.categories.index', ['categories' =>  $categories]);
    }
  public function create()
  {
    return view('admin.categories.create');
  }
 public function store(Request $request)
 {
   $this->validate($request, [
            'title' =>  'required' //обязательно
        ]);

   Category::create($request->all());
   return redirect()->route('categories.index');
 }
 public function edit($id)
 {
   $category = Category::find($id);
   return view('admin.categories.edit', ['category=>$category']);
 }
 public function update(Request $request, $id)
 {
   $category = Catefory::find($id);
   $category->update($request->all());
   return redirect()->route('categories.index');
 }
}

CategoryController.php ErrorException (E_ERROR) Неопределенная переменная: категория (представление: W: \ domains \ blog \ resources \ views \ admin \ Categories \ edit.blade.php) Предыдущие исключения

Я не понимаю, что за ошибка проверила все несколько раз ['ateg.update ', $ category-> id],' method '=>' put '])); ?>

      <div class="col-md-6">

Ответы [ 3 ]

1 голос
/ 14 мая 2019

Это происходит потому, что вы неправильно поместили ', в ответ вы должны передать значение правильно

замените ваш метод редактирования следующим:

public function edit($id)
{
    $category = Category::find($id);
    return view('admin.categories.edit', ['category' => $category]);
}
0 голосов
/ 14 мая 2019

это просто, как вы знаете!

просто замените в вашей функции редактирования

   return view('admin.categories.edit', ['category=>$category']);

с:

   return view('admin.categories.edit')->withCategory($category);
0 голосов
/ 14 мая 2019

При публикации кода постарайтесь сделать его максимально читабельным. Самый простой способ сделать это - прочитать ВЕСЬ пост, прежде чем публиковать его.

По вопросу:

В CategoriesController@edit заменить

 ['category=>$category']

с

 ['category'=>$category]

Также в этом сценарии вы можете использовать

compact('category') 

вместо массива в качестве переменной $category и ключ в массиве 'category' имеют одинаковые имена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...