Php 如何在模型集合laravel上调用函数
在我发布这篇文章之前,我已经寻找了很多答案,但没有结果请原谅我的英语不是很好 我的Laravel应用程序包含: 用户模型Php 如何在模型集合laravel上调用函数,php,laravel,eloquent,laravel-5.3,Php,Laravel,Eloquent,Laravel 5.3,在我发布这篇文章之前,我已经寻找了很多答案,但没有结果请原谅我的英语不是很好 我的Laravel应用程序包含: 用户模型 public function Follow() { return $this->belongsToMany(Page::class,"follows","user_id","page_id"); } 页面模型 public function Posts() { return $this->hasMany(Post::class); } 后模型
public function Follow()
{
return $this->belongsToMany(Page::class,"follows","user_id","page_id");
}
页面模型
public function Posts()
{
return $this->hasMany(Post::class);
}
后模型
public function Page()
{
return $this->belongsTo(Page::class);
}
在homeController中,我使用了index方法,该方法应该返回用户的后续页面的帖子
$user->follow()->get();
这只返回了Pages集合,我无法获取帖子或访问任何内容
我需要访问帖子及其属性,如果可能的话,我还需要计算帖子的喜好
非常感谢。您正在使用返回页面的函数
follow()
!!检查您的退货声明
应该是:
公共函数Follow()
{
返回$this->belongTomany(Follow::class,“follows”,“user\u id”,“page\u id”);
}
经过无数次尝试,我终于找到了答案
public function index()
{
$user = Auth::User();
$posts = [];
foreach ($user->follow as $key => $page)
{
foreach ($page->posts as $k => $post)
{
array_push($posts, $post);
}
}
//return $posts;
return view('home', compact('posts'));
}
我还无法访问likes计数,但我将使用(“”)方法尝试
我将更新任何进一步的信息我没有Follow modelfollows
是透视表使用的user\u id
page\u id
多对多关系我知道,但只需看看您的用户模型中的函数Follow()
返回了什么!!它返回一个页面,这就是为什么你得到页面集合是的,它返回页面,我只需要这些页面的帖子。$user->follow()->posts()->get()类似的东西?不确定我是否错过了一些东西,比如:first()不,这不起作用,它告诉我没有posts方法,我尝试了很多次,也没有很多选项,没有成功的快速加载,$user->follow()->with('posts')->get()代码>