为啥 findmany() 在这里不起作用 - Lumen/Laravel?

Posted

技术标签:

【中文标题】为啥 findmany() 在这里不起作用 - Lumen/Laravel?【英文标题】:Why does findmany() not work here - Lumen/Laravel?为什么 findmany() 在这里不起作用 - Lumen/Laravel? 【发布时间】:2020-05-20 07:41:54 【问题描述】:

我正在尝试在一个集合上使用 findmany(),我用这个检查了它是否是一个集合:

if ($join instanceof Collection) 
  log::info("deemed collection");
else
  log::info("not deemed collection");

虽然它似乎是一个集合,但我仍然收到错误:

BadMethodCallException

Method Illuminate\Database\Eloquent\Collection::findmany does not exist.

当我尝试对其使用 findmany() 时,如下所示:

$join = $join->findmany(1);

$join 是这样创建的:

$join = coretable::with($permittedTables)->get();

其中$permittedTables 是一个表名数组,因此该集合可以包含任意数量的表和表的组合。

为什么我不能使用这个集合中的 findmany() 方法?它应该可以从集合中访问,不是吗?

【问题讨论】:

【参考方案1】:

$join = $join->findMany([1,2,3]);

findMany 适用于 Id 数组。

findMany 应该是驼峰式的。

【讨论】:

【参考方案2】:

集合上没有findMany方法,只有find。

在从数据库中检索记录之前,您可以在查询构建器上调用 findMany,例如:

$join = coretable::with($permittedTables)->findMany([1]);

【讨论】:

以上是关于为啥 findmany() 在这里不起作用 - Lumen/Laravel?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 jQuery 选择器在这里不起作用?

这里有啥问题,为啥 innerHTML 不起作用? [关闭]

为啥 fstream 在这里不起作用(在文件中读/写)?

为啥 Z-index 在这里不起作用? [复制]

(这里是极端菜鸟)为啥这个 C 代码不起作用?

为啥 memset 功能不起作用? [复制]