gpt4 book ai didi

php - Laravel Collection 仅返回 11 个值

转载 作者:行者123 更新时间:2023-11-29 10:07:30 24 4
gpt4 key购买 nike

我正在为我的应用程序构建时间线,但遇到了这个问题,我的集合仅返回 11 个值。我尝试更改合并的数据,但它总是返回 11 个值,这让我非常困惑,因为它们在我的代码中没有限制。

public function timeline($company_id)
{
// USER COMPANY
$company = auth()->user()->companies()->findOrFail($company_id);

//GETTING DATA TO MERGE COLLECTION
$equities = Share::where('company_id', $company_id)->get();
$equityGrants = EquityGrant::whereIn('share_id', $equities->pluck('id')->toArray())->get();
$warrants = Warrant::where('company_id', $company_id)->orderBy('created_at', 'DESC')->get();
$warrantGtrants = WarrantGrant::whereIn('warrant_id', $warrants->pluck('id')->toArray())->get();
$convertibles = Convertible::where('company_id', $company_id)->get();

// CREATING COLLECTION
$operations = $equities->merge($equityGrants)->merge($warrants)->merge($warrantGtrants)->merge($convertibles);
$operations = $operations->sortByDesc('created_at');

// RETURNS ME ONLY 11 VALUES
return $operations->values()->all();
}

我尝试merge()更少的实例,例如$operations = $equities->merge($equityGrants)->merge($warrants)->merge($warrantGtrants) 但始终最多 11 个值。我需要返回时间线的所有数据。

请帮帮我! :)
干杯,爱:)

解决方案:函数 concat() 而不是 merge() 解决了这个问题。

最佳答案

在 Laravel 中的集合上使用 merge() 将导致覆盖来自 Eloquent 查询的具有相同 id 的所有元素。

我相信这就是为什么您只获得 11 个元素,因为这是对具有不同 id 的所有元素进行计数。

关于php - Laravel Collection 仅返回 11 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51621403/

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