Ошибка Undefined offset: 0

261
04 сентября 2021, 04:20

Делаю блог по видео урокам , но вот почему то выдает такую ошибку. Не могу решить, помогите, пожалуйста. Вроде всё как надо , пробовал уже и такую запись

create.blade.php

@extends('admin.layouts.app_admin')
@section('content')
<div class="container">
  @component('admin.components.breadcrumb')
    @slot('title') Создание категории @endslot
    @slot('parent') Главная @endslot
    @slot('active') Категории @endslot
  @endcomponent
  <hr />
  <form class="form-horizontal" action="{{route('admin.category.store')}}" method="post">
    {{ csrf_field() }}
    {{-- Form include --}}
    @include('admin.categories.partials.form')
  </form>
</div>
@endsection

form-blade.php

   <label for="">Статус</label>
 <select class="form-control" name="published">
  @if (isset($category[0]->id))
    <option value="0" @if ($category->published == 0) selected="" @endif>Не опубликовано</option>
    <option value="1" @if ($category->published == 1) selected="" @endif>Опубликовано</option>
  @else
    <option value="0">Не опубликовано</option>
    <option value="1">Опубликовано</option>
  @endif
</select>
<label for="">Наименование</label>
<input type="text" class="form-control" name="title" placeholder="Заголовок категории" value="{{$category->title or ""}}" required>
<label for="">Slug</label>
<input class="form-control" type="text" name="slug" placeholder="Автоматическая генерация" value="{{$category->slug or ""}}" readonly="">
<label for="">Родительская категория</label>
<select class="form-control" name="parent_id">
  <option value="0">-- без родительской категории --</option>
  @include('admin.categories.partials.categories', ['categories' => $categories])
</select>
<hr />
<input class="btn btn-primary" type="submit" value="Сохранить">

categories.blade.php

@foreach ($categories as $category_list)
  <option value="{{$category_list->id or ""}}"
    @isset($category->id)
      @if ($category->parent_id == $category_list->id)
        selected=""
      @endif
      @if ($category->id == $category_list->id)
        hidden=""
      @endif
    @endisset
    >
    {!! $delimiter or "" !!}{{$category_list->title or ""}}
  </option>
  @if (count($category_list->children) > 0)
    @include('admin.categories.partials.categories', [
      'categories' => $category_list->children,
      'delimiter'  => ' - ' . $delimiter
    ])
  @endif
@endforeach

"Undefined offset: 0 (View: D:\wamp\www\blog\resources\views\admin\categories\create.blade.php)" CategoryController

namespace App\Http\Controllers\Admin;
use  App\category; // use your app namespace
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class CategoryController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view('admin.categories.index',[
            'categories' => category::paginate(10)
        ]);
    }

       /**
         * Show the form for creating a new resource.
         *
         * @return \Illuminate\Http\Response
         */
      public function create()
    {
       return view('admin.categories.create', [
          'category'   => [],
          'categories' => category::with('children')->where('parent_id', '0')->get(),
          'delimiter'  => ''
       ]);
    }
      public function store(Request $request)
{
   category::create($request->all());
   return redirect()->route('admin.category.index');
}
Answer 1

create.blade.php

@extends('admin.layouts.app_admin')
@section('content')
<div class="container">
  @component('admin.components.breadcrumb')
    @slot('title') Создание категории @endslot
    @slot('parent') Главная @endslot
    @slot('active') Категории @endslot
  @endcomponent
  <hr />
  <form class="form-horizontal" action="{{route('admin.category.store')}}" method="post">
    {{ csrf_field() }}
    {{-- Form include --}}
    @include('admin.categories.partials.form',
            ['category'   => $category,
             'categories' => $categories,
             'delimiter'  => $delimiter])
  </form>
</div>
@endsection

form.blade.php

<label for="published">Статус</label>
<select id="published" class="form-control" name="published">
@if (isset($category) && isset($category->id))
    <option value="0" {{ ($category->published == 0) ? 'selected' : '' }}>Не опубликовано</option>
    <option value="1" {{ ($category->published == 1) ? 'selected' : '' }}>Опубликовано</option>
@else
    <option value="0" selected disabled>Не опубликовано</option>
    <option value="1" disabled>Опубликовано</option>
@endif
</select>
<label for="title">Наименование</label>
<input id="title" type="text" class="form-control" name="title" placeholder="Заголовок категории" value="{{ $category ? $category->title : '' }}" required>
<label for="slug">Slug</label>
<input id="slug" class="form-control" type="text" name="slug" placeholder="Автоматическая генерация" value="{{ $category ? $category->slug : '' }}" readonly />
<label for="parent_id">Родительская категория</label>
<select id="parent_id" class="form-control" name="parent_id">
  <option value="0">-- без родительской категории --</option>
  @include('admin.categories.partials.categories', 
          ['categories' => $categories,
           'current' => $category,
           'delimiter' => $delimiter])
</select>
<hr />
<input class="btn btn-primary" type="submit" value="Сохранить">

categories.blade.php

@foreach ($categories as $category)
  <option value="{{ $category->id ?? '' }}" 
   {{ ($current && isset($current->parent_id) && $current->parent_id === $category->id) ? 'selected' : '' }}
   {{ ($current && isset($current->id) && $current->id === $category->id) ? 'hidden' : '' }}>
    {!! $delimiter ?? '' !!}{{ $category->title ?? '' }}
  </option>
  @if (isset($category->children) && is_array($category->children) && count($category->children) > 0)
    @include('admin.categories.partials.categories', [
      'categories' => $category->children,
      'delimiter'  => ' - ' . $delimiter,
      'current'    => $current
    ])
  @endif
@endforeach

CategoryController

public function create()
{
    return view('admin.categories.create', [
       'category'   => null,
       'categories' => category::with('children')->where('parent_id', '0')->get(),
       'delimiter'  => ''
    ]);
}
READ ALSO
Как менять контент своего шаблона WordPress

Как менять контент своего шаблона WordPress

Я учусь натягивать свой HTML шаблон на WordPress, я уже научился делать меню про помощи wp_nav_menu();

163
Как получить ответ от json?

Как получить ответ от json?

Пытаюсь из json получить нужные данные, пример json ответа:

159
Как ограничить вывод из Json?

Как ограничить вывод из Json?

Получаю информацию из json

93
Как отловить проблему связанную с mysql?

Как отловить проблему связанную с mysql?

В общем есть сайт на поддержке, и сайт каждый день +- в одно и тоже время сайт зависает и не отвечает на запросы в течении 6-10 минут(график с сервиса...

197