При отображении данных в пакете Laravel Chatter отображается неопределенная ошибка переменной - PullRequest
0 голосов
/ 29 августа 2018

Я работаю над добавлением комментария, например stackoverflow, с помощью пакета обсуждений chatter от devdojo, поэтому здесь я пишу код для отображения комментариев, но появляется неопределенная ошибка переменной. Ошибка страницы ScreenShot

public function show(Chatterreply $chatterreply ,$id)
{
    $chatterreplies = Chatterreply::where('chatter_post_id',$id)->get();

    return view('chatter::discussion', compact('chatterreplies'));
    echo "<pre>"; print_r('$chatterreplies'); die;
}

В Web.php маршрут равен

 /*
 * Post routes.
 */
Route::group([
    'as'     => 'posts.',
    'prefix' => $route('post', 'posts'),
], function () use ($middleware, $authMiddleware) {

    // All posts view.
    Route::get('/', [
        'as'         => 'index',
        'uses'       => 'ChatterPostController@index',
        'middleware' => $middleware('post.index'),
    ]);

    // Create post view.
    Route::get('create', [
        'as'         => 'create',
        'uses'       => 'ChatterPostController@create',
        'middleware' => $authMiddleware('post.create'),
    ]);

    // Store post action.
    Route::post('/', [
        'as'         => 'store',
        'uses'       => 'ChatterPostController@store',
        'middleware' => $authMiddleware('post.store'),
    ]);
    //Adding Comments
    Route::post('/reply/{id}', [
        'as'         => 'store',
        'uses'       => 'ChatterreplyController@store',
        'middleware' => $authMiddleware('post.reply.store'),
    ]);
    //showing Comment
    Route::get('/reply/{id}', [
        'as'         => 'show',
        'uses'       => 'ChatterreplyController@show',
        'middleware' => $middleware('post.show'),
    ]);

1 Ответ

0 голосов
/ 29 августа 2018

Во-первых, я бы предложил поместить ваши операторы отладки (... print_r ...) перед оператором return в действии вашего контроллера следующим образом:

public function show(Chatterreply $chatterreply ,$id)
{
  $chatterreplies = Chatterreply::where('chatter_post_id',$id)->get();

  echo "<pre>"; print_r('$chatterreplies'); die();

  // or use the laravel helper 
  dd($chatterreplies)

  return view('chatter::discussion', compact('chatterreplies'));

}

Вы должны увидеть содержимое переменной $ chatterreplies.

Если это нормально, проверьте имя вашего контроллера в web.php, потому что кажется, что оно должно быть ChatterReplyController @ show вместо Chatter ответить Controller @ show (это буква R в Chatter ответить Контроллер @ показывать заглавную или нет?), Если вы следуете соглашению camelCase, как, например, в ChatterPostController @ store.

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