我想显示与特定类别相关联的帖子。
我有一个预先定义的类别表,每个类别都有一个唯一的ID。
我有一个帖子表,我有一个数据透视表,用于链接两个名为category_post的表。
数据透视表包含category_id& POST_ID。
我想查询数据透视表以恢复与特定category_id相关联的所有post_id。
我的控制器采用所选类别的ID参数:
public function getCategoryPost($id)
{
$selectedID = DB::table('category_post')->select(['post_id'])->where('category_id', '=', $id)->get();
$posts = Post::find($selectedID);
return View::make('posts.category')->with('posts', $posts);
}
现在我想在刀片中显示结果,但只显示帖子的标题:
@foreach($posts as $post)
class="post-title"> {{$post->title}}
@endforeach
这就是我所拥有的,我得到以下错误“类stdClass的对象无法转换为字符串”
有什么建议吗?
答案 0 :(得分:0)
首先你应该重建一下你的查询使用Eloquent我建议:
$selectedID = CategoryPost::where('category_id', '=', $id)
->select('post_id')
->first();
由于你在这里只获取一个结果,你应该使用FIRST,而不是GET函数,因为GET会返回一个数组!如果您坚持使用Get,则应将代码更改为:
$posts = Post::find($selectedID[0]); // the first element of the response array
在将结果和查询返回到视图之前,您应该对其进行汇总,然后查看问题所在! :)问候并告诉我你是否需要更多的帮助!