我使用雄辩已经有一段时间了,我不知道如何实现这一点。假设我有通常的帖子、用户和评论关系,我想返回所有帖子的列表,在该列表中还指示登录用户评论了哪些帖子。
通过查询WHWISH()
或with()
,我只能返回包含用户评论的帖子,或者返回包含所有用户评论的所有帖子。但是,我怎么才能得到只有auth用户评论的所有帖子呢?或者甚至只是一个指示用户评论存在的布尔值。
我觉得这应该是非常简单的,我只是没能在文档或这些板上找到答案。
也许是这样的:
$posts = Post::whereHas('comments',function($commentQuery){
$commentQuery->whereHas('user',function($userQuery){
$userQuery->where('id',Auth::user()->id);
});
})->get();
雄辩http://laravel.com/docs/4.2/eloquent指南包括以下内容: 急负荷约束 有时,您可能希望立即加载关系,但也要指定立即加载的条件。下面是一个例子: 在本例中,我们急于加载用户的帖子,但前提是帖子的标题列包含单词“first”。 您如何扭转这种局面,以便您只获得标题栏包含单词“第一”的帖子的用户? 换句话说,我希望只有用户有一个包含单词“第一”的帖子,我想急切地加载
我想让Laravel中的查询像这里的原始MySQL查询一样有说服力 我在拉雷维尔试过这个,但没用
我目前正在使用群组检索数据,以获得相同的宝藏名称,总发现和相同的宝藏数量(上限)。使用下面的代码,我可以得到所有的宝藏数据,但是当宝藏被完全认领时,它无法显示total_left是0。 *声明的列是一个布尔值,其中0尚未声明。 查询 数据 期望数据
我有3个模型和一个透视表: 学校年-模型 ID 课程模式 ID schoolyear_id 课程\学生-数据透视表 课程号 学生证 学生模型 ID 关系是: 一学年有许多课程 一门属于任何学生的课程 在任何课程中的学生 什么是最快、更优雅的方法来找到学生进入一个学年,并且能够按学生属性进行排序?
我有users表,它与vendordetails表有hasOne关系。 vendordetails表包含country_id、state_id和city_id,与Country、State和City模型有归属关系。 vendorDetail.php模型为:- 如果我查询users表,如何获取国家、州和城市的记录。 在这个查询中,它只找到vendordetails表的结果,我还想要country、s
我有一个帖子模型、一个用户模型和一个评论模型。 我的用户可以发布帖子,也可以评论帖子。 我想得到帖子的评论,但是,我的用户也可以阻止用户。 我的意思是,如果活动用户有一些其他被阻止的用户,并且如果post的评论有这些用户创建的评论,我必须排除他们。 问题来了。 我想使用帖子和评论的关系,因为这里的工作还没有完成。但是如果我在posts数组中使用foreach,那么继续使用foreach将非常奇怪;