【发布时间】:2016-09-28 15:26:47
【问题描述】:
我想知道 Laravel 是否有任何帮助来修改集合。
我需要做的是使用paginate() 进行查询,然后检查登录的用户 ID 是否与发送者或接收者匹配,并在此基础上为输出添加一个新值:
$userId = Auth::guard('api')->user()->user_id;
$allMessages = Conversation::join('users as sender', 'conversations.sender_id', '=', 'sender.user_id')
->join('users as reciver', 'conversations.recipient_id', '=', 'reciver.user_id')
->where('sender_id',$userId)->orWhere('recipient_id',$userId)
->orderBy('last_updated', 'desc')
->select('subject','sender_id','recipient_id', 'sender_unread', 'recipient_unread', 'last_updated', 'reciver.username as receivername', 'sender.username as sendername')
->paginate(20);
现在我想做这样的事情:
if ($allMessages->sender_id == $userId) {
// add new value to output
newField = $allMessages->sendername
} else {
// add new value to output
newField = $allMessages->receivername
}
然后发送添加了新值的数据
return response()->json(['messages' => $allMessages], 200);
这可能吗?
【问题讨论】: