Php 如何将数组传递给::with()-Lumen/Laravel
因此,Php 如何将数组传递给::with()-Lumen/Laravel,php,laravel,eloquent,orm,Php,Laravel,Eloquent,Orm,因此,$permittedTables是一个表名数组,我想加入核心表。 为此,我想使用Model::with(),如下所示: $join = coretable::with($permittedTables)->get(); 但是,我在执行上述代码时遇到了此错误: Argument 1 passed to Illuminate\Database\Eloquent\Builder::parseWithRelations() must be of the type array, object
$permittedTables
是一个表名数组,我想加入核心表
。
为此,我想使用Model::with(),如下所示:
$join = coretable::with($permittedTables)->get();
但是,我在执行上述代码时遇到了此错误:
Argument 1 passed to Illuminate\Database\Eloquent\Builder::parseWithRelations() must be of the type array, object given, called in E:\aether-backend\vendor\illuminate\database\Eloquent\Builder.php on line 1043
最让我困惑的是这个实数是一个数组,所以我真的不明白为什么它会抛出这个错误xD
不过,有人能告诉我这种方法是否可行吗?如果是这样,我该怎么做
编辑:
以下是阵列的生成方式:
$permittedTables = extensiontables_registry::findmany($ids)->pluck('extensiontable_name');
以防万一,这与此有关。
$permittedTables=extensiontables\u注册表::findmany($ids)->pull('extensiontable\u name')代码>
在上面的代码片段->pluck()
方法返回对象,这就是它抛出以下错误的原因必须是数组类型,给定的对象
尝试使用以下方法:$permittedTables=extensiontables\u注册表::findmany($ids)->pull('extensiontable\u name')->toArray()
它应该可以工作。$permittedTables=extensiontables\u注册表::findmany($ids)->pull('extensiontable\u name')代码>
在上面的代码片段->pluck()
方法返回对象,这就是它抛出以下错误的原因必须是数组类型,给定的对象
尝试使用以下方法:$permittedTables=extensiontables\u注册表::findmany($ids)->pulk('extensiontable\u name')->toArray()
应该可以工作。函数返回集合/枚举,您必须调用toArray
函数才能获得表名数组
$permittedTables=extensiontables\u注册表::findmany($id)
->Pull('extensionable_name')
->toArray();
函数返回集合/可枚举,您必须调用toArray
函数才能获得表名数组
$permittedTables=extensiontables\u注册表::findmany($id)
->Pull('extensionable_name')
->toArray();
我很高兴能帮助您。如果没有问题,请接受我的回答。我会的,但是stackoverflow会让我们再等10分钟:D在此之前,系统不会让我接受任何答案。^^我很乐意帮助您。如果没有问题,请接受我的答案。我会的,但是stackoverflow会让我们再等10分钟:D,在此之前,系统不会让我接受任何答案^^