public function selectRandomTaggedFact($user_id, $tag_id) { $tagged_facts = TaggedFact::whereRaw("tag_id = {$tag_id}")->get(); foreach ($tagged_facts as $tagged_fact) { $facts[] = $tagged_fact->fact; } return $this->transformAndReturnFact($facts); }
public function test_If_random_tagged_fact_is_selected() { $user = $this->getTestUser(); $this->mockFacts($user, 5); $tag_id = Tag::create(['tag_name' => 'Test Tag'])->id; $facts = Fact::where('user_id', $user->id)->get(); foreach ($facts as $fact) { TaggedFact::create(['fact_id' => $fact->id, 'tag_id' => $tag_id]); } $this->factSelector = new \App\GladysApp\Domain\FactSelector(); $fact = $this->factSelector->selectRandomTaggedFact($user->id, $tag_id); $fact_id = $fact['id']; $taggedFact = TaggedFact::whereRaw("fact_id = {$fact_id} AND tag_id = 1")->first(); $this->assertEquals(1, $taggedFact->tag_id); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($fact_id, $tag_id) { $tagFactRow = TaggedFact::whereRaw("tag_id = '{$tag_id}' and fact_id = '{$fact_id}'")->first(); $tagFactRow->forceDelete(); }