Слишком мало аргументов для функции App \ Http \ Controllers \ PostsController :: edit (), 0 передано и ожидается ровно 1 - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь сделать кнопку редактирования на dashboard.blade.php, моя функция создания работает нормально.Но редактирование дает мне «Слишком мало аргументов для функции App \ Http \ Controllers \ PostsController :: edit (), 0 прошло и ровно 1 ожидаемая» ошибка ...

Я посмотрел на проблему, и япрочитал, что мне нужно исправить Route :: добраться до чего-то вроде этого;Route :: get ('/ show / {id}', 'PostsController @ show');Но я использую Route :: resource ('posts', 'PostsController');метод, поэтому я не уверен, как решить эту проблему?

Вот dashboard.blade.php

@foreach($posts as $post)
   <tr>
   <td>{{$post->title}}</td>
   <td><a href="/posts/{{$post->id}}/edit" class="btn btn-default">Edit</a></td>
   <td>
      {!!Form::open(['action' =>['PostsController@destroy', $post->id], 'method' => 'POST', 'class' => 'pull-right'])!!}
      {{Form::hidden('_method', 'DELETE')}}
      {{Form::submit('Delete', ['class' => 'btn btn-danger'])}}
      {!!Form::close() !!}
   </td>
   </tr>
   @endforeach

и вот мой web.php

Route::get('/', 'PagesController@index');
Route::get('/about', 'PagesController@about');
Route::get('/category/{category}', [ 
    'uses' => 'PostsController@category',
    'as' => 'category'

]);
Route::resource('books', 'BooksController');
Route::resource('posts', 'PostsController');
Route::resource('categories', 'CategoriesController', ['except'=> ['create']]);

Auth::routes();
Route::get('/dashboard', 'DashboardController@index');

вот правка edit.blade.php

{!! Form::model($post, ['route' => ['PostsController@update', $post->id], 'method' => 'PUT']) !!}
<div class="col-md-4">           
   <div class'form-group'>
      {{ Form::label('title', 'Title')}}
      {{ Form::text('title', $post->title, ['class' => 'form-control', 'placeholder' => 'Title'])}}
   </div>
</div>
<div class="col-md-4">           
  <div class'form-group'>
     {{ Form::label('slug', 'Slug')}}
     {{ Form::text('slug', $post->slug, ['class' => 'form-control ', 'placeholder' => 'Slug', 'required' =>'', 'minlength' => '5', 'maxlength' => '255'])}}
  </div>
</div>
<div class="col-md-4">
     <div class'form-group'>
          {{ Form::label('category_id', 'Category :')}}
          {{ Form::select('category_id', $categories, null, ['class' => 'form-control']) }}
      </div>
 </div>
</div>
<div class="row post_row">
  <div class="col-md-8">
     <div class'form-group'>
          {{ Form::label('body', 'Body')}}
          {!! Form::textarea('body', '$post->body', ['id' => 'article-ckeditor', 'class' => 'form-control space', 'placeholder' => 'Body Text'])!!}
     </div>
  </div>
</div>
<div class'form-group' style="padding-top: 20px">
    {{Form::submit('Submit', ['class'=>'btn btn-primary'])}}
    {!! Form::close() !!}
</div>

Не уверен, если вам это нужно, но я собираюсь добавить его

PostsController.php

public function create()
{
  $posts = Post::all();
  $categories = Category::all();

public function edit($id)
{
    $post = Post::find($id);
    $categories = Category::all();
    $cats = array();
        foreach ($categories as $category){
            $cats[$category->id] = $category->title;
            }

    return view('posts.edit')->withPost($post)->withCategories($cats);
}

Нужно посмотреть, есть ли кто-нибудь, кто может сказать, что мне нужно сделать, чтобырешить эту проблему?

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