CommentController.php
1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
namespace frontend\controllers;
use Yii;
use common\models\Comment;
class CommentController extends \yii\web\Controller
{
public function actionIndex()
{
$post = Comment::find()->with('user')->orderBy('created_at ASC')->all();
$comments = array();
foreach($post as $p)
{
$comments[$p['comment_id']] = array(
'id' => $p['comment_id'],
'parent' => $p['comment_pid'],
'content' => $p['content'],
'username' => $p->user->username,
'created_at' => $p['created_at'],
'childs' => array()
);
}
foreach ($comments as $key => &$val)
{
if ($val['parent'] != 0)
{
$comments[$val['parent']]['childs'][] =& $val;
}
}
unset($val);
foreach ($comments as $key => $val)
{
if ($val['parent'] != 0)
{
unset($comments[$key]);
}
}
if (Yii::$app->request->get('action') == 'reload')
{
return $this->renderAjax('index', array('data' => $comments));
}
else
{
return $this->render('index', array('data' => $comments, 'reload' => false));
}
}
public function actionCreate()
{
$comment = new Comment;
$comment->user_id = Yii::$app->user->identity->id;
$comment->content = Yii::$app->request->post('content');
$comment->entity_id = 3;//Yii::$app->request->post('entity_id');
$comment->comment_pid = Yii::$app->request->post('parent_id');
$comment->created_at = date('Y-m-d H:i:s', time());
$comment->save();
}
}