public function transform(Moment $moment) { $image = $moment->image; $user = $moment->user; $likes = $moment->likes; return ['id' => $moment->id, 'text' => $moment->text, 'created_at' => $moment->created_at->toDateTimeString(), 'updated_at' => $moment->updated_at->toDateTimeString(), 'is_liked' => $moment->isUserLiked($this->request_user_id), 'like_count' => $likes->count(), 'user_id' => $user->id, 'image' => ['id' => $image->id, 'image_url' => $image->url, 'user_id' => $user->id, 'type' => $image->type]]; }
public function likeMoment($payload, Moment $moment) { if ($moment->isUserLiked($payload['user_id'])) { return array('result' => false, 'message' => 'The moment has been liked by this user!'); } \DB::beginTransaction(); try { $like = MomentLike::create(['moment_id' => $moment->id, 'user_id' => $payload['user_id']]); \DB::commit(); return array('result' => true, 'content' => $like); } catch (\Exception $e) { \DB::rollBack(); return array('result' => false, 'message' => $e->getMessage()); } }