当前位置: 首页 > 面试题库 >

使用Laravel 4和Eloquent查询相关模型

周培
2023-03-14
问题内容

使用Laravel 4,我有以下模型和关系:具有多记录的事件具有多项目的事件。我想做的是这样的

Item::where('events.event_type_id', 2)->paginate(50);

原因是无效的,因为Eloquent在检索记录时不会将模型联接在一起。因此,如何在不自己编写SQL的情况下解决这个问题(我想避免使用分页,但要避免这种情况)。


问题答案:

您想要的是渴望加载。

如果要指定其他约束,它的工作原理如下:

Item::with(array('events' => function($query) {
    return $query->where('event_type_id', 2);
}))->paginate(50);


 类似资料:
  • Querying related models(查询相关模型) 简介 包含内容 范围 included relations 使用过滤参数 简介

  • 地址 我尝试过的事情 这只返回用户数据-没有地址数据

  • 问题内容: 即使它有性能问题,我是否也可以知道相关子查询的用途? 问题答案: 好吧,首先它没有性能问题。就是这样,鉴于硬件和数据库结构的性能限制,它将尽可能地执行。 至于它的作用,它只是表达特定逻辑条件的一种方式。

  • 我正试图在Laravel中获得两个相关的对象,按照文档要求使用渴望加载。 https://laravel.com/docs/5.4/eloquent-relationships#eager-loading 我的模型是: 我想用一个SQL查询获取两个对象。基本上我想执行: 然后能够访问LeadSession和Lead对象。以下是我正在尝试的php代码: 我也尝试过: 和 在这三种情况下,我都会执行两

  • 问题内容: 我有以下口才的查询(这是查询的简化版本,其中包含更多s和s,因此是实现此目的的明显回旋方式-该理论很重要): 如您所见,我最早的约会发生在我的约会上或之后。这导致运行单独的查询来获取该日期,然后将该日期用作主查询中的参数。有没有一种雄辩的方法可以将查询嵌入在一起形成一个子查询,因此只有1个数据库调用而不是2个? 编辑: 根据@Jarek的答案,这是我的查询: 这些块使查询中的所有参数突

  • 问题内容: 我有一个叫做 School 的模型,它有很多 学生 。 这是我模型中的代码: 我在控制器中使用此代码让所有学生: 并在视图中: 现在,我想按表中的某些字段对 学生 进行排序。我怎样才能做到这一点? 问题答案: 您可以通过几种方法实现这一目标: