У меня есть оператор, который возвращает данные для создания файла Excel, в Laravel 4.2. Я пытаюсь свести к минимуму количество запросов, но несколько таблиц имеют одинаковые имена, поэтому я хочу использовать оператор выбора, чтобы указать необходимые столбцы и их имена. Это утверждение выглядит следующим образом:
$foldersData = Project::where('projects.project_id', $projectId)
->join('folders', 'projects.project_id', '=', 'folders.project_id')
->join('permission_folders', 'folders.folder_id', '=', 'permission_folders.folder_id')
->join('permission_groups', 'permission_folders.group_id', '=', 'permission_groups.permission_group_id')
->join('permission_users', 'permission_users.group_id', '=', 'permission_groups.permission_group_id')
->join('users', 'permission_users.user_id', '=', 'users.user_id')
->select('projects.name as project_name', 'folder_name', 'permission_groups.name as group_name', 'forename', 'surname', 'f_update', 'f_read', 'f_download')
->get();
Когда я удаляю оператор выбора, все работает нормально, но я не могу получить свое имя_проекта, так как поле имени переопределяется именем таблицы групп, поэтому мне приходится использовать еще один запрос на объект Project, чтобы получить его. Есть идеи, как я могу получить эти данные? Я получаю сообщение об ошибке, когда в операторе select указано следующее:
"message": "Вызов функции-члена areaPermissions () в null"
Спасибо в заранее за любую помощь!