gpt4 book ai didi

php - 相关数据的查询构建器结构

转载 作者:行者123 更新时间:2023-11-28 23:56:41 25 4
gpt4 key购买 nike

使用我当前的数据,如果我在我的 Controller 中创建一个查询:

$users = User::with('skills')
->with('skills')
->with('positions')
->orWhereHas('positions', function($thisquery) use ($positions)
{
$thisquery->whereIn('name', $positions);
})
->get();

返回正确的结果。

但是如果我这样创建查询:

$users = User::with('skills');
$users->with('skills');
$users->with('positions');
$users->orWhereHas('positions', function($thisquery) use ($positions)
{
$thisquery->whereIn('name', $positions);
})
$users->get();

没有返回数据。

我原以为两者是一样的,但显然我遗漏了一些要点 - 结果不同的原因是什么?

最佳答案

您应该尝试像这样分配 get() 方法结果:

$users = $users->get();

链式方法通常通过返回对象作为结果来工作。您的 get() 方法返回一个集合。因此,您应该将它分配给某个变量,以便以后以某种方式使用它。

此外,您可能想考虑重命名 $users 变量,尽管我有时也会这样做。

关于php - 相关数据的查询构建器结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31509219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com