【发布时间】:2015-01-19 17:21:19
【问题描述】:
我的应用程序中有一个 User 和一个 Profile 类,它们之间的关系是 1:1。
在我的ProfileController@show 中,我可以为它们中的每一个完美地实例化和构建查询,但这两行:
$userProfile=$profile->with('user')->where('id',1)->firstOrFail();
$userProfile=$user->with('profile')->where('id',3)->firstOrFail();
第一个发送一个致命错误异常,消息为:“Class User Not Found”,第二个消息是“Class Profile Not Found”
我也尝试过外观和构建查询的不同方式,但没有奏效。
根据这个question我认为我的关系有问题。我明确地传递了foreign_key,但它不起作用。
这里有一些细节:
用户类别:
class User extends \Eloquent implements UserInterface, RemindableInterface
{
public function profile()
{
return $this->hasOne('Profile', 'id');
}
}
个人资料类
class Profile extends \Eloquent
{
public function user()
{
return $this->belongsTo('User', 'id');
}
}
数据库架构: 表“用户”
id
password
email
username
表格“个人资料”
id
user_id
about
提前致谢。
【问题讨论】:
-
类是在模型的子文件夹中还是在包中?为什么 \Eloquent 有一个前导反斜杠?你做了
php artisan dump-autoload -
它们在我的命名空间中,如下所示:
Artronics\User和Artronics\Profile带有 psr-4 自动加载。是的,我实际上尝试了很多次composer dump-autoload。 -
我刚试过
php artisan dump-autoload,但结果还是一样。顺便说一句,composer dump-autoload和php artisan dump-autoload有什么区别?