laravel 关联模型报错!failed to open stream

数据库


用户表:

  • id
  • name
  • password
  • email

客诉表:

  • id
  • title
  • content
  • uid *关联user表id*

客诉日志表:

  • id
  • text
  • cc_id *关联客诉id*

Rma 模型

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Rma extends Model
{
    /**
     * Rename table name.
     * @var string
     */
    protected $table = 'oacustomercomplaint';

    /**
     * The attributes that are mass assignable.
     * @var array
     */
    protected $fillable = [];

    /**
     * 关联rma日志记录
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function logs()
    {
        return $this->hasMany('App\Models\Rmalog', 'cc_id');
    }

    /**
     * 关联user表
     * @return \Illuminate\Database\Eloquent\Relations\HasOne
     */
    public function user()
    {
        return $this->belongsTo('App\User', 'uid');
    }
}

Rma 控制器

public function getRmaList(){
    $rmas = Rma::with('user')->orderBy('cc_time', 'desc')->get();
    return $rmas;
}

User model我是独立放在app目录下面的
其它的模型都在models目录下

clipboard.png

User 模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * Rename table name.
     * @var string
     */
    protected $table = 'user';

    /**
     * All fields can be written.
     * @var array
     */
    protected $guarded = [];

    /**
     * Hidden fields.
     * @var array
     */
    protected $hidden = [
        'password'
    ];
}

当我试图关联user模型获取用户数据时出现了以下错误:

(1/1) ErrorException
include(/Library/WebServer/Documents/LaravelOA): failed to open stream: Undefined error: 0

clipboard.png

我以为是权限问题,我试图将项目目录的权限改为777,似乎也没用。
可是我关联logs日志表的时候获取的数据又是正常的,求大佬解答

阅读 4.8k
4 个回答
php artisan clear-compiled
php artisan optimize

试试

你的user表的命名空间写错了吧你写的是

'App\User'

我想应该是

'App\Models\User'

楼上正解,这句代码有问题,找不到UserModel。
return $this->belongsTo('App\Model\User', 'uid');

可以这样写:

return $this->belongsTo(User::class, 'uid');

User model 通过命名空间去加载

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题