我正在尝试从数据库中获取以下内容:
使用以下查询:
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
name
users
$conversation->name
avatar.name
users.name
有没有办法在laravel 5.1中重命名查询输出(如mysql的“ as”功能)?
例如:
$conversation->avatarName $conversation->userName
嗯,好吧..我在这里找到了一个简单的解决方案
->select('users.name as userName', 'conversation_messages.*', 'user_avatars.name as avatarName', 'user_avatars.filetype')
如您所提到的,我已经在table.columnName旁边添加了请求的“按功能”