/** * This function is for when a user donates money to another user via their profile. * * @param Request $request */ public function processGift(Request $request) { $giftTransactionType = TransactionType::where(['name' => 'user_gift'])->get()->first(); $recievingUser = User::find($request->input('user_id')); $sendingTransaction = new Transaction(['user_id' => $this->user->id, 'transaction_type_id' => $giftTransactionType->id, 'amount' => -$request->input('amount'), 'description' => "You sent money to " . $recievingUser->name]); $recievingTransaction = new Transaction(['user_id' => $request->input('user_id'), 'transaction_type_id' => $giftTransactionType->id, 'amount' => $request->input('amount'), 'description' => "You recieved a gift from " . $this->user->name]); if ($sendingTransaction->save()) { $recievingTransaction->save(); Flash::success('You have sent ' . $recievingTransaction->present()->amount . ' to ' . $recievingTransaction->user->name); } else { Flash::error('There was an error, please contact support.'); } return redirect('/'); }
public static function byName($typeName) { return TransactionType::where('name', $typeName)->firstOrFail(); }