采摘拉拉维尔需要很多元素?

问题描述 投票:1回答:1
public function getPackage($type)
{
    $sale = Tour::where('id_package',$type)->get();
    $pack = Package::where('id',$sale->pluck('id_package'))->get();
    $loca = Location::where('id','=',$sale->pluck('id_location'))->get();
    return view('page.package',compact('pack','loca','sale'));
}

当我使用dd($ sale-> pluck('id_location')时,我可以获得两个元素,但是当我将$ loca分配给一个时,当我使用whereIn('id',$ sale-> pluck('id_location')时)我可以获得两个元素,但不符合id tour @@

谢谢

php laravel
1个回答
0
投票

您不能将where()与集合一起使用,请使用以下语法使用whereIn()

$sale = Tour::where('id_package', $type)->get();
$pack = Package::whereIn('id', $sale->pluck('id_package'))->get();
$loca = Location::whereIn('id', $sale->pluck('id_location'))->get();

此外,如果要加载带有相关包和位置的Tours,则应定义关系和use eager loading

public function getPackage($type)
{
    $sale = Tour::where('id_package', $type)->with(['location', 'package'])->get();
    return view('page.package', compact('sale'));
}
© www.soinside.com 2019 - 2024. All rights reserved.