Я пытаюсь принести следующие вещи из базы данных:Laravel 5,1: рукоятка соединяется с теми же именами столбцов
- имя пользователя
- пользователь avatar_name
- пользователь avatar_filetype
- полный conversation_messages
по следующему запросу:
static public function getConversation($id)
{
$conversation = DB::table('conversation_messages')
->where('belongsTo', $id)
->join('users', 'conversation_messages.sender', '=', 'users.id')
->join('user_avatars', 'conversation_messages.sender', '=', 'user_avatars.id')
->select('users.name', 'conversation_messages.*', 'user_avatars.name', 'user_avatars.filetype')
->get();
return $conversation;
}
Он отлично работает до сих пор, но имя столбца аватара - «name
», как имя столбца из таблицы «users
». Так что, если я использую этот запрос к, чтобы получить выход через $conversation->name
, то avatar.name
перезаписывает users.name
Есть ли способ, чтобы переименовать выходные данные запроса, как в MySQL «как» особенность в Laravel 5.1?
Например:
$conversation->avatarName
$conversation->userName
Да, это была моя первая мысль тоже. Но подумайте, что последовательное именование - хорошая функция в каждой базе данных. Проверьте мой собственный ответ: я нашел довольно приятное решение. :) –