$ community获取所有社区。 $ starred社区获得所有已加星标的社区。 然后两者合并。
以下是代码:
$communities = Community::all();
$starred_communities = StarredCommunity::where('user_id',1)->get();
$communities = $communities->merge($starred_communities);
我想结果数组应该在起始位置获得$ starred_communities。目前根据两个记录的主键缩短结果。
答案 0 :(得分:1)
这应该可以解决问题:
$communities = Community::all();
$starred_communities = StarredCommunity::where('user_id',1)->get();
$merged = $communities->toBase()->merge($starred_communities);
Illuminate\Database\Eloquent\Collection
类使用Eloquent模型的key
(默认情况下为id
)作为索引,而Illuminate\Support\Collection
并不关心这一点。
答案 1 :(得分:0)
尝试应该工作:
$communities = Community::get();
$starred_communities = StarredCommunity::where('user_id',1)->get();
$merged = $starred_communities->merge($communities);