【发布时间】:2016-09-28 07:04:08
【问题描述】:
我有以下两张表。
users - id,name,title
posts - id,author
在哪里post.author = user.id
我的 Post 模型如下。
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.
有人可以帮忙吗?
【问题讨论】:
-
不应该是:
Post::find(1)->users? -
您需要阅读docs。默认情况下,Laravel 假定
posts表中的 id 为user_id。如果你想使用author列名,那么你可以在你的User模型中覆盖它。 -
@Daan 是的,它是。改变它。但不起作用。
-
谢谢@Krik Bread。是这样吗? return $this->hasManyThrough('App\Post', 'author');
标签: php laravel-5.1