RelationNotFoundException Вызов неопределенного отношения [userStories] в модели [App \ User] - PullRequest
0 голосов
/ 17 мая 2018

Я создал связь между User модель и StoryModel. Но это дает мне ошибку: -

Вызов неопределенного отношения [userStories] для модели [App \ User].

Может быть, я что-то упустил. Ниже приведен мой код, который я использую

Error image here

User.php

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use App\Notification;
use App\CheckIn;
use App\Travel;
use Carbon\Carbon;
use App\NewInterest;
use App\UserStory;

class User extends Authenticatable
{
    use Notifiable;
    protected $table = "users";
    protected $primaryKey = 'id';
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'firstname','lastname', 'user_id','email',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    public function userStories(){
        return $this->hasMany(UserStory::class, 'user_id', 'user_id');
    }
}

Controller Logic

$usersStories = User::with('userStories')
                            ->select('id','user_id','stories')
                            ->get();
 print_r($usersStories);
    exit;

Ответы [ 3 ]

0 голосов
/ 17 мая 2018

Можете ли вы попробовать изменить последовательность следующим образом:

 $usersStories = User::->select('id','user_id','stories')
                       ->with('userStories')
                       ->get();
 print_r($usersStories);
 exit;
0 голосов
/ 17 мая 2018

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

Модель пользователя

public function userStories(){
        return $this->hasMany(UserStory::class);
    }

Модель UserStory

public function users(){
        return $this->belongsTo(User::class, 'user_id');
    }
0 голосов
/ 17 мая 2018

Вы пишете код отображения в вашем UserStory Model, который должен быть

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

Если вы уже написали этот код, проверьте имена столбцов в вашей БД.

...