show (Model $ model) не работает в Laravel 7 - PullRequest
0 голосов
/ 04 мая 2020

Я создал ModelController. В show(ModelName $model) я определил метод: `

show(ModelName $model){
return response()->json(['data'=>$model]);
}

`, но он не работает должным образом. Он должен вернуть модель с ее атрибутами, но он возвращает пустой массив. Мой маршрут:

Route::resource('model','ModelController');

Модель:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Notifications\Notifiable;

class ModelName extends Model
{
    use Notifiable,SoftDeletes;

    protected $fillable = [
        'name',
    ];
}

Все остальные методы возвращают ожидаемые значения. Просто метод show не работает должным образом. Я попытался использовать

show($id){
$model = ModelName::findOrFail($id)
return response()->json(['data'=>$model]);
}

Это прекрасно работает, но я не могу использовать show(Model $model) этот тип вызова функции. Я могу получить пользовательские данные тем же способом. Я не могу понять, в чем проблема. У кого-нибудь есть решение?

1 Ответ

0 голосов
/ 05 мая 2020

Попробуйте указать свою модель в ModelController примерно так:

class ModelController extends Controller
{
    protect $model = ModelName::class;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...