我有两张桌子。
users - id,name,title
posts - id,author
其中post.author = user.id
我的帖子模型如下。
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function users()
{
return $this->belongsTo('App\User');
}
}
我使用Project::find(1)->users
但它给出了以下错误。
SQLSTATE[42S02]: Base table or view not found.
有人可以帮忙吗?
答案 0 :(得分:1)
您可以将代码更改为:
class Post extends Model
{
public function user()
{
return $this->hasOne('App\User', 'id', 'author');
}
}
这将通过调用Post::find(1)->user->id
来从数据库中获取用户。
我建议将users
更改为user
,因为帖子只能有一位作者。
希望这有效!
答案 1 :(得分:0)
这应该改变
Project::find(1)->users
到这个
Post::find(1)->users
阅读本文
答案 2 :(得分:0)
你的帖子模型..
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function users()
{
return $this->belongsTo('App\User', 'author');
}
}
现在用它作为..
Post::find(1)->users;
由于帖子只有一个创建者,因此您可以将users
模型上的Post
方法更改为user
并将其用作
Post::find(1)->user;