获取错误:类stdClass的对象无法在文件中转换为字符串



我试图通过id从'preferences(id,occupation,marital_status,City)'表中获取'occupation'属性,并将属性'occupation'与另一个名为'user_more_infos(id,age,occupation,marital_status,City)'的表进行比较。我想在user_more_info表中显示具有相同职业的人的id。

public function match(){
$id= Auth::id();
$find=DB::table('preferences')->where('id','like',$id)->select('occupation')->get();
$occupation=DB::table('user_more_infos')->where('occupation','like',$find)->select('id')->get();
return $occupation;
}

你应该这样写代码:

public function match()
{
$id = Auth::id();
$find = DB::table('preferences')
->where('id','like',$id)
->select('occupation')
->first();

$occupation = DB::table('user_more_infos')
->where('occupation','like',$find->occupation)
->select('id')
->get();

return $occupation;
}

但是,您不需要为所需的解决方案创建另一个表。可以使用内部连接从单个表本身查找类似的值。你可以在这里学习如何使用,https://laravel.com/docs/8.x/queries#joins

让我知道上面的片段是否适合你。

最新更新