예제 #1
0
 /** @test */
 public function it_deletes_all_specified_relations()
 {
     $user = User::create([]);
     $author = Author::create(['user_id' => $user->id]);
     $post = Post::create(['author_id' => $author->id]);
     $comment = Comment::create(['post_id' => $post->id]);
     $user = $user->fresh();
     $this->assertEquals($user->author()->count(), 1, 'author');
     $this->assertEquals($user->author()->first()->posts()->count(), 1, 'posts');
     $this->assertEquals($user->author()->first()->posts()->first()->comments()->count(), 1, 'comments');
     $user->delete();
     $this->assertEquals(Post::where('author_id', 1)->count(), 0, 'post 0');
     $this->assertEquals(Comment::where('post_id', 1)->count(), 0, 'comment 0');
     $this->assertEquals(Author::where('user_id', 1)->count(), 0, 'user 0');
 }
예제 #2
0
 public function doCreate()
 {
     $content = CW::$app->request->post('content');
     $updateId = CW::$app->request->post('updateId');
     if (empty($content) || empty($updateId)) {
         return false;
     }
     $replyTo = CW::$app->request->post('replyTo');
     $result = \models\Comment::create($content, $updateId, CW::$app->user->identity->id, 0 === $replyTo ? null : $replyTo);
     if ($result) {
         $result->owner = ['id' => CW::$app->user->identity->id, 'username' => htmlspecialchars(CW::$app->user->identity->username), 'profileUrl' => \models\User::getProfileUrl(CW::$app->user->identity->id), 'pictureUrl' => CW::$app->user->identity->getProfilePicUrl()];
         $result->postedAgo = \models\BaseModel::getPostedAgoTime(date("Y-m-d H:i:s", time()));
         $result->upvotes = 0;
         $result->replies = $replyTo ? false : [];
         $result->voted = false;
         $result->content = htmlspecialchars($result->content);
     }
     return json_encode($result);
 }