当前位置: 首页 > 知识库问答 >
问题:

口若悬河

姬烨磊
2023-03-14

雄辩http://laravel.com/docs/4.2/eloquent指南包括以下内容:

急负荷约束

有时,您可能希望立即加载关系,但也要指定立即加载的条件。下面是一个例子:

$users = User::with(array('posts' => function($query)
{
    $query->where('title', 'like', '%first%');

}))->get();

在本例中,我们急于加载用户的帖子,但前提是帖子的标题列包含单词“first”。

您如何扭转这种局面,以便您只获得标题栏包含单词“第一”的帖子的用户?

换句话说,我希望只有用户有一个包含单词“第一”的帖子,我想急切地加载这些帖子。如果有10个用户,其中3个用户的帖子包含单词“第一”,那么我的get()将只返回3个用户,每个用户都渴望加载标题包含“第一”的帖子。

共有2个答案

朱运诚
2023-03-14

只是为了显示上面Ciccio答案的最终语法。

users = User::whereHas('posts', function($q) use ($first)
{
   $q->where('title', 'like', "%{$first}%");
})->with(array('posts' => function($q) use ($first) {
   $q->where('title', 'like', "%{$first}%");
}
))->get();

请注意,当我第一次运行这个时,我的计时时间是30秒。我的“Posts”表有30000行,不是很大,但足以减慢速度。在“Posts”表中添加一个额外的索引将时间缩短到0.2秒。

佟云
2023-03-14

我相信您正在寻找类似的产品(未经测试):

$first = 'first';
$users = User::whereHas('posts' => function($q) use ($first)
{
    $q->where('title', 'like', "%{$first}%");

})->with(['posts' => function($q) use ($first)
{
   $q->where('title', 'like', "%{$first}%");

}])->get();
 类似资料:
  • 我使用雄辩已经有一段时间了,我不知道如何实现这一点。假设我有通常的帖子、用户和评论关系,我想返回所有帖子的列表,在该列表中还指示登录用户评论了哪些帖子。 通过查询或,我只能返回包含用户评论的帖子,或者返回包含所有用户评论的所有帖子。但是,我怎么才能得到只有auth用户评论的所有帖子呢?或者甚至只是一个指示用户评论存在的布尔值。 我觉得这应该是非常简单的,我只是没能在文档或这些板上找到答案。

  • 我想让Laravel中的查询像这里的原始MySQL查询一样有说服力 我在拉雷维尔试过这个,但没用

  • 我目前正在使用群组检索数据,以获得相同的宝藏名称,总发现和相同的宝藏数量(上限)。使用下面的代码,我可以得到所有的宝藏数据,但是当宝藏被完全认领时,它无法显示total_left是0。 *声明的列是一个布尔值,其中0尚未声明。 查询 数据 期望数据

  • 登录流程 1、流程 2、接口 参数说明 字段 类型 必须? 说明 phoneNum String 是 手机号 passwd String 否 密码 举个大栗子: Swift: // token 有些平台没有 RokidMobileSDK.account.login(phoneNum: String, passwd: String, complete:((RKError?) -> Void))

  • 问题内容: 有时,我可以选择使用CSS元素:悬停或JavaScript onmouseover来控制页面上html元素的外观。考虑以下情况,其中div包装了输入 我希望输入将鼠标光标悬停在div上时更改背景色。CSS方法是 JavaScript方法是 每种方法的优点和缺点是什么?CSS方法是否适用于大多数Web浏览器?JavaScript比CSS慢吗? 问题答案: :hover的问题是IE6仅在链

  • 问题内容: 是否有任何东西可以让您在Swing JTextArea中的单个单词或字母上显示一个小的文本弹出窗口(如工具提示)?(或具有类似功能的JTextArea替代品。) 我需要的行为就像一个工具提示,换句话说,只有在鼠标悬停在单词上一两秒钟后,才会​​显示弹出文本,并且一旦鼠标移开它就会自动消失。当然,这里最棘手的部分是我希望它在文本中的字符/单词级别,而不是组件级别……有什么建议吗? 问题答