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 @@
谢谢
您不能将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'));
}