Laravel - Как разрешить объект класса stdClass не удалось преобразовать в строку Ошибка - PullRequest
0 голосов
/ 19 февраля 2020

Когда я запускаю этот код:

   public function manager_employee_list()
   {
       $userCompany = Auth::user()->company_id;
       $userEmployee = Auth::user()->employee_id;
       $identities = DB::table('appraisal_identity')->select('id')->where('company_id', $userCompany)->where('is_current', 1)->first();

       $linemanager = DB::table('hr_employees')->select('line_manager_id')->where('id', $userEmployee)->first();
       $linemanageremployee = DB::table('hr_employees')->select('id')->where('line_manager_id', $linemanager->line_manager_id)->get();  
       $goals = AppraisalGoal::where('employee_id', $linemanageremployee)->where('appraisal_identity_id', 
       return view('appraisal.appraisal_goals.manager_employee_list')->with('goals', $goals);        
}

Я получил эту ошибку:

Объект класса stdClass не может быть преобразован в строку

Когда я сделал:

dd ($ linemanageremployee);

Я получил:

Illuminate\Support\Collection {#880 ▼
  #items: array:3 [▼
    0 => {#2312 ▼
  +"id": 2
}
1 => {#2326 ▼
  +"id": 3
}
2 => {#2313 ▼
  +"id": 6
    }
  ]
}

Как мне ее решить?

Спасибо.

1 Ответ

0 голосов
/ 19 февраля 2020

Попробуйте изменить:

$linemanageremployee = DB::table('hr_employees')->select('id')->where('line_manager_id', $linemanager->line_manager_id)->get();

на

$linemanageremployee = DB::table('hr_employees')->select('id')->where('line_manager_id', $linemanager->line_manager_id)->pluck('id');

Затем измените:

$goals = AppraisalGoal::where('employee_id', $linemanageremployee) ...

на

$goals = AppraisalGoal::whereIn('employee_id', $linemanageremployee) ...

Объяснение:

->get() метод возвращает Eloquent Collection, которую нельзя напрямую использовать внутри where() для выполнения запроса.

->pluck() метод возвращает массив, который можно использовать сделать запрос с whereIn()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...