与关系不通的雄辩

时间:2019-07-29 11:01:10

标签: laravel-5.8

我是laravel的新手。我面临一个非常奇怪的问题。我有一个与laravel中的User model有关的模型注释。 关系被定义为

//App\User model
    public function comments()
    {
            return  $this->hasMany('App\comment');
    }

还有

//App\Comment model
    public function User()
    {
        return $this->belongsTo('App\User');
    } 

现在,当我使用find获取用户和comment时,它将为表中的所有用户返回数据。我的代码如下:App\User::find(1)->with('comments')->get();有人可以告诉我做错了什么吗?

2 个答案:

答案 0 :(得分:0)

尝试这样的事情

$comments=App\User::whereId(1)->comments->get();

这应该加载与ID为1的用户相关的所有评论

答案 1 :(得分:0)

// App \用户模型

public function comments() {
    return  $this->hasMany('App\comment','user_id','id');
}

//在您的控制器中

use App\User;
$comment = User::where('id',2)->comments->get();

//我希望它对您有用!