我在项目中使用了laravel。在那个我得到的另一个值的数组但我不知道如何从给定的数组获得数组结果我不知道如何使用where条件。
以下是我的查询
$requests = ProfileRequest::where('user_id', $user_id)->pluck('requested_id')->toArray();
$values = is_array($requests)? array_values($requests): array();
$users = DB::table('users')
->leftJoin('basic_informations', 'users.id', '=', 'basic_informations.user_id')
->leftJoin('physical_attributes', 'users.id', '=', 'physical_attributes.user_id')
->leftJoin('religion_and_ethnicity', 'users.id', '=', 'religion_and_ethnicity.user_id')
->leftJoin('occupational_attributes', 'users.id', '=', 'occupational_attributes.user_id')
->leftJoin('personal_interests', 'users.id', '=', 'personal_interests.user_id')
->select('users.id', 'users.user_name', 'basic_informations.age', 'basic_informations.unique_id', 'basic_informations.mother_tongue', 'religion_and_ethnicity.religion_id', 'religion_and_ethnicity.caste_id', 'occupational_attributes.education_id', 'occupational_attributes.occupation_id')
->whereNotNull('basic_informations.user_id')
->whereNotNull('physical_attributes.user_id')
->whereNotNull('religion_and_ethnicity.user_id')
->whereNotNull('occupational_attributes.user_id')
->whereIn('users.id', '=', $values)->get();
print_r($users);
当我尝试以上操作时显示错误
Grammar.php第254行中的ErrorException: 数组到字符串转换
答案 0 :(得分:3)
可能错误是这样的:
->whereIn('users.id', '=', $values)
将此行更改为:
->whereIn('users.id', $values)