У меня есть следующая хранимая процедура MySQL "Sel_All_Observation_SP": -
BEGIN
SELECT Observations_TBL.observation_id, Observations_TBL.number, Observations_TBL.date, Observations_TBL.status, Observations_TBL.content, Observations_TBL.recommendation, Observations_TBL.remark, Users_TBL.User_name, Type_Name_TBL.Type_Name, Supervisors_TBL.supervisor_name
FROM ((Observations_TBL INNER JOIN Supervisors_TBL ON (Supervisors_TBL.supervisor_id = Observations_TBL.supervisor_id) AND (Observations_TBL.supervisor_id = Supervisors_TBL.supervisor_id)) INNER JOIN Type_Name_TBL ON (Observations_TBL.Type_Name_ID = Type_Name_TBL.Type_Name_ID) AND (Observations_TBL.Type_Name_ID = Type_Name_TBL.Type_Name_ID)) INNER JOIN Users_TBL ON (Users_TBL.User_ID = Observations_TBL.user_id) AND (Observations_TBL.user_id = Users_TBL.User_ID);
END
Я вызываю вышеуказанную процедуру в laravel, используя построитель запросов laravel: -
DB::select('call Sel_All_Observation_SP()')
Вышевозвращает результат в виде массива.
Я пытаюсь использовать оператор where в запросе выше: -
$observations = DB::select('call Sel_All_Observation_SP()')->where('user_id',1);
Возвращается ошибка: -
Symfony \Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Вызов функции-члена где () в массиве
Я даже пытался преобразовать массив в коллекцию следующим образом: -
$observations = collect(DB::select('call Sel_All_Observation_SP()')->where('user_id',1)->get());
Возвращает ту же ошибку