2017-04-26 79 views
0
class Post extends Model 
{ 
    protected $fillable = ['title', 'body']; 
    public function comments() 
    { 
     return $this->hasMany(Comment::class); 
    } 
} 

为什么当我打电话$ post-> comments()在PHP补习;它给了我这个:Illuminate \ Database \ Eloquent \ Relations \ HasMany 但是当我从注释词中删除括号时:$ post-> comments,我得到数组?作为财产的PHP通话功能

+0

该关系被命名为评论而不是评论。当使用括号时,它会返回一个查询生成器,据我所知,你可以工作 –

回答

0

你不应该叫$post->comments();,但$post->comments;

而且,你的函数名称应为public function comments()public function comment()。您对每篇文章有很多评论> s <,评论不多。

+0

我的问题是为什么,而不是我应该! –

+0

$ post-> comments()调用函数,而$ post-> comment调用映射的属性(集合) –

+0

@NiekvanderMaaden但这里的函数返回一些东西!为什么它不返回? –