如何合并laravel中的所有模型?

How to merge all models in laravel?

我想在图像不为空白时显示所有幻灯片。

public function index()
{
    $slideAdvertise = Advertise::whereNotNull('image')->get();
    $slideDesignStudio = DesignStudio::whereNotNull('image')->get();
    $slideHouse = House::whereNotNull('image')->get();
    $slidePhotographer = Photographer::whereNotNull('image')->get();
    $slideWebsite = Website::whereNotNull('image')->get();
    $slideShows = $slideAdvertise->merge($slideDesignStudio)->merge($slideHouse)->merge($slidePhotographer)->merge($slideWebsite);
    return view('Home.index', compact('slideShows'));
}

注意:这段代码连错误都没有

您缺少两件事。

首先是合并调用末尾的 all() 函数。

$slideShows = $slideAdvertise->merge($slideDesignStudio)->merge($slideHouse)->merge($slidePhotographer)->merge($slideWebsite)->all();

其次是在查询 returns 没有结果的情况下使用数组。

public function index()
{
    $slideAdvertise = Advertise::whereNotNull('image')->get()->toArray();
    $slideDesignStudio = DesignStudio::whereNotNull('image')->get()->toArray();
    $slideHouse = House::whereNotNull('image')->get()->toArray();
    $slidePhotographer = Photographer::whereNotNull('image')->get()->toArray();
    $slideWebsite = Website::whereNotNull('image')->get()->toArray();
    $slideShows = $slideAdvertise->merge($slideDesignStudio)->merge($slideHouse)->merge($slidePhotographer)->merge($slideWebsite)->all();
    return view('Home.index', compact('slideShows'));
}