Введите имя вместо идентификатора пользователя - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть 2 таблицы.

первое имя таблицы - пользователь.

User_id, User_name

второе имя таблицы - вопрос


Question_id, Question, User_id

Я хочу видеть имя пользователя при вызове таблицы вопросов.

код подключения таблицы:

 public function user()
 {
    return $this->belongsTo(User::class);
 }

И код ресурса:


public function toArray($request)
    {

        return[
            'Question' => $this->Question,
            'created_at' => $this->created_at->diffForHumans(),
            'user' => $this->user->name
        ];
    }

Функция показа контроллера вопроса:

   public function show(Question $question)
   {
       return new QuestionResource($question);
   }

Ошибка при работев следующем коде:

{
    "message": "Class 'App\\Model\\User' not found",
    "exception": "Symfony\\Component\\Debug\\Exception\\FatalThrowableError",
    "file": "C:\\xampp\\htdocs\\forumapp\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Concerns\\HasRelationships.php",
    "line": 718,
    "trace": [
        {
            "file": "C:\\xampp\\htdocs\\forumapp\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Concerns\\HasRelationships.php",
            "line": 179,
            "function": "newRelatedInstance",
            "class": "Illuminate\\Database\\Eloquent\\Model",
            "type": "->"
        },

1 Ответ

0 голосов
/ 11 ноября 2019
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

 class User extends Model
 {


    protected $table = 'user';
 }

Создайте класс модели Elquoent, потому что вы использовали 'return $ this-> assignTo (User :: class);' Здесь пользовательский класс для определения отношения elquoent. Надеюсь, это сработает для вас.

...