我想知道如何在透视表created_at上使用orderby。
目前我有这个:
我想让所有用户订阅特定的事件ID:
return $this->user
->with('subscriptions')
->whereHas('subscriptions', function ($query) use ($eventId) {
$query->where('events.id', $eventId)
->orderBy('subscriptions.created_at', 'ASC');
})
->paginate(5);
我将所有用户附加到特定事件上,但orderBy不起作用。我想使用的方式有没有连接方法。
with()
使用即时加载,将查询转换为多个查询。你可以试试这个。
return $this->user->join('subscriptions', function ($join) use ($eventId) {
$join->on('subscriptions.user_id', '=', 'users.id');
$join->where('events.id', $eventId)
})
->select('users.*', 'subscriptions.*')
->orderBy('subscriptions.created_at', 'ASC')
->paginate(25);
以下是另一种获得您想要的东西的方法:
加入()
return $this->user
->with('subscriptions')
->has('subscriptions')
->join('subscriptions', function ($join) use ($request) {
$join->on('subscriptions.user_id', '=', 'users.id');
})
->select('users.*', 'subscriptions.created_at as subscriptions_created_at')
->orderBy('subscriptions_created_at', 'ASC')
->paginate(5);
我认为你应该在with从句上点菜,像这样:
return $this->user
->with([
'subscriptions' => function ($query) {
$query->orderBy('created_at', 'ASC');
}
])
->whereHas('subscriptions', function ($query) use ($eventId) {
$query->where('events.id', $eventId);
})
->paginate(5);
我刚刚开始学习LaravelV3,我试图通过创建一个博客来了解eloquent的一对多关系。我的帖子与类别有多对一的关系(每个帖子都链接到一个类别)。 我有以下表格和以下字段: 帖子:id、标题、正文、创建日期、类别id 类别:id、名称 我有以下两种型号: 我想出了如何通过传递类别id来获得所有帖子: 我只是需要帮助,找出如何获得所有的职位,并得到他们的更正类别。因此,在视图中的一天结束时,我可
我有帖子表和评论表。我想得到所有的帖子与它的评论和以下返回只是帖子有评论: 更新 例如 ID帖 1个职位1 2后2 id post\u id评论 1萨姆勒大学评论 Post::with('comments')只返回有注释的帖子,它只返回第一篇帖子,因为第二篇帖子没有注释,我想获取所有帖子(有注释或没有注释)
我正在使用Laravel 5创建一个博客,但我对多对多(通过透视表)关系有一个奇怪的问题。我的DB设置如下: 文章表: id|bigint|20|PK|不为空|自动增量 title|varchar|255|不为空 body|text|不为空 category_id|bigint|20|不为空 created_at|时间戳|不空 updated_at|时间戳|非空 已发布|布尔值|非空 delete
我使用的是Laravel 5.4,其模型和表格结构如下: 一个用户可以有多个账户 一个帐号可以被多个用户共享 每个账户有多个持有量 因此,用户通过他们的许多帐户间接拥有许多资产。 我需要帮助在用户模型上定义一个称为“持有量”的关系,以获得适用于用户的所有持有量(基于他们所链接的账户)。 我尝试了很多不同的东西,在谷歌上花了很长时间。我可以接近BelongToMany和hasManyThrough,
在我的应用程序中,我更新了从一对多到多对多的关系,我试图找出一种持久化关联功能的方法。 假设我有两个相关的表,例如狗和主人。如果我有一系列的主人,并且我正试图为这些主人获取一份狗的id列表,我应该如何雄辩地做到这一点? 这里也提出了类似的问题:https://laracasts.com/discuss/channels/laravel/getting-many-to-many-related-da
请查看下面的代码。 我在“CompletedService”中有多条记录,并且在account表中有一个父id account\u id。我和你约会是为了钱。 ASC和DESC已经尝试过了。 尝试按whereHas排序,但不会影响任何记录。下面是模型关系。 我不需要在模型中使用orderby,因为我多次使用了这个关系,并且在这个查询中只需要orderby。 与一个已完成的服务记录关系只有一个账户。