Данные не передаются для отображения функции - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть следующий контроллер вопросника с некоторыми функциями, я столкнулся с проблемой в функции show, когда данные не передаются в представление show, хотя они сохраняются в моей базе данных

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use \App\Questionnaire;
class QuestionnaireController extends Controller
{
    //
   public function create() {

        return view('questionnaires.create');
    }

   public function store( ) {


    $data = request()->validate([

        'title' => 'required',
        'purpose' => 'required',
    ]);

    $data['user_id'] = auth()->user()->id;


    $questionnaire = \App\Questionnaire::create($data);



    return redirect('/questionnaires/'.$questionnaire->id);


   }

   public function show(\App\Questionnaire $questionnaire) {

        return view('questionnaires.show', compact('questionnaire'));
   }
}

Ниже приводится представление шоу

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
            <div class="card-header">{{$questionnaire->title}}</div>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

Ответы [ 3 ]

0 голосов
/ 09 февраля 2020
public function show(\App\Questionnaire $questionnaire) {
    return view('questionnaires.show')->with(compact('questionnaire'));
}

Попробуйте это решение.

0 голосов
/ 09 февраля 2020

Следующий код дал мне желаемый результат

  public function show($id) {

   $questionnaire = Questionnaire::find($id);


    return view('questionnaires.show')->with(compact('questionnaire'));
}
0 голосов
/ 09 февраля 2020

Вы можете попробовать следующее:

return redirect('/questionnaires/')->with('questionnaire', $questionnaire);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...