簡體   English   中英

如何將數組傳遞給 ::with() - Lumen/Laravel

[英]How to pass an array to ::with() - Lumen/Laravel

所以$permittedTables是我想加入到coretable的表名數組。 為此,我想使用 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');

以防萬一這與它有關。

pluck函數返回Collection/Enumerable,必須調用toArray函數來獲取表名數組

$permittedTables = extensiontables_registry::findmany($ids)
                             ->pluck('extensiontable_name')
                             ->toArray();

$permittedTables = extensiontables_registry::findmany($ids)->pluck('extensiontable_name'); 在上面的代碼片段->pluck()方法返回對象,這就是為什么它拋出以下錯誤must be of the type array, object given

嘗試使用這個: $permittedTables = extensiontables_registry::findmany($ids)->pluck('extensiontable_name')->toArray()它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM