예제 #1
0
 /**
  * Store a newly created Post in storage.
  *
  * @return Response
  */
 public function store()
 {
     $params = Request::all();
     $post = new Post($params);
     $tags = isset($params['tags']) ? $params['tags'] : [];
     if ($post->save()) {
         $post->tags()->attach($tags);
         return $post;
     } else {
         throw new CrudException('post:store');
     }
 }
예제 #2
0
 /**
  * Tes menambahkan Post dan relasinya dengan Tag
  */
 public function testTagRelation()
 {
     $cat = Category::create(['title' => 'uncategorized']);
     $user = User::create(['name' => 'user', 'email' => 'user', 'password' => 'user', 'picture' => 'user']);
     $tags = [];
     $tags[] = Tag::create(['title' => 'title']);
     $obj = new Post();
     $obj->title = 'title';
     $obj->category_id = $cat->id;
     $obj->user_id = $user->id;
     $saved = $obj->save();
     $this->assertTrue($saved);
     if ($saved) {
         $ids = Collection::make($tags)->map(function ($tag) {
             return $tag->id;
         })->toArray();
         $obj->tags()->attach($ids);
         $temp_tags = $obj->tags()->get();
         $this->assertEquals(count($tags), count($temp_tags));
         foreach ($temp_tags as $key => $temp_tag) {
             $this->assertEquals($temp_tag->id, $tags[$key]->id);
         }
     }
 }
예제 #3
0
 private function setUpObj()
 {
     $slug = 'slug_' . rand(0, 10000);
     $cat = Category::create(['title' => $slug, 'slug' => $slug]);
     $tag = Tag::create(['title' => $slug, 'slug' => $slug]);
     $user = User::create(['name' => 'user', 'email' => rand(0, 10000), 'password' => 'user', 'picture' => 'user']);
     $obj = new Post();
     $obj->title = 'The Title';
     $obj->content = 'content';
     $obj->description = 'description';
     $obj->header_image = 'header_image';
     $obj->category_id = $cat->id;
     $obj->user_id = $user->id;
     $obj->save();
     $obj->tags()->attach($tag->id);
     $obj->save();
     return $obj;
 }