【问题标题】:Merging two collections only returns one合并两个集合只返回一个
【发布时间】:2019-10-08 03:14:53
【问题描述】:

我有两个 laravel 集合(帖子和事件),我将它们合并到一个名为 sliderItems 的新集合中,但是这个集合只返回一个集合,而不是两者合并的集合,在这种情况下只有帖子。

$sliderPosts = Post::where('isFeatured', true)->where('isVisible', true)->with('postcategory')->latest()->get();
        //dump($sliderPosts);
        $sliderEvents = Event::where('isFeatured', true)->where('isVisible', true)->latest()->get();
        //dump($sliderEvents);
        $sliderItems = $sliderEvents->merge($sliderPosts)->take(4);
        //dump($sliderItems);

【问题讨论】:

  • 不确定合并逻辑是如何工作的,但我认为 ->take(4); 正在采用前 4 个元素,可能只有 Post 模型。如果您删除->take(4);,它是否包含所有内容?
  • 请发布集合是什么(显示转储的内容)以及您对合并的期望

标签: php laravel


【解决方案1】:

你正在合并两个集合并只取 4 个对象,这样做,

$sliderPosts = Post::where('isFeatured', true)->where('isVisible', true)->with('postcategory')->latest()->take(2);
//dump($sliderPosts);
$sliderEvents = Event::where('isFeatured', true)->where('isVisible', true)->latest()->take(2);
//dump($sliderEvents);
$sliderItems = $sliderEvents->merge($sliderPosts);
//dump($sliderItems);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-18
    • 2023-03-07
    • 2021-02-16
    • 2019-12-31
    • 2016-06-05
    • 1970-01-01
    • 2011-11-24
    • 2021-05-07
    相关资源
    最近更新 更多