我正在使用table
函数从first()
A获取数据,并对table B
进行了同样的操作,我需要将一个变量传递给blade
,该变量包含两个表中的数据,我该怎么办?
我已经尝试过merge()
函数,但是我做不到。
public function index(){
$mahasiswa= mahasiswa::where('npm',Session::get('npm'))->first();
if($mahasiswa->Agama=="Islam"){
$agama=agama_islam::where('npm',Session::get('npm'))->first();
}
else if($mahasiswa->Agama=="Kristen Protestan"){
$agama=agama_kristen::where('npm',Session::get('npm'))->first();
}
else if($mahasiswa->Agama=="Kristen Katolik"){
$agama=agama_katolik::where('npm',Session::get('npm'))->first();
}
else if($mahasiswa->Agama=="Hindu"){
$agama=agama_hindu::where('npm',Session::get('npm'))->first();
}
else if($mahasiswa->Agama=="Buddha"){
$agama=agama_buddha::where('npm',Session::get('npm'))->first();
}
if($agama==NULL){
return view('biodata',['mahasiswa'=>$mahasiswa]);
}else{
$mahasiswamerge=$mahasiswa->merge($agama);
return view('biodata',['mahasiswa'=>$mahasiswamerge]);
}
}
答案 0 :(得分:2)
您必须使用推送而不是合并。如果两个对象上的ID相同,则一个对象将覆盖另一个对象。试试
$mahasiswamerge = collect();
$mahasiswamerge->push($mahasiswa);
$mahasiswamerge->push($agama);
return view('biodata',['mahasiswa'=>$mahasiswamerge]);