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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| <?php class Post extends CActiveRecord { public $fixtures = [ 'posts' => 'Post', 'tags' => 'Tag', ];
public function findPost() { $post = $this->posts('post1'); $fPost = Post::model()->find('id=:id', [':id' => $post->id]);
$fPost = Post::model()->find('?', [$post->id]);
$fAllPost = Post::model()->findAll('id=:id', [':id' => $post->id]);
$fAllPost = Post::model()->findAll('?', [$post->id]);
$criteria = new CDbCriteria(); $criteria->condition = 'id=:id AND title=:title'; $criteria->params = [':id' => $post->id, ':title' => $post->title]; $fPost = Post::model()->find($criteria);
$fAllPost = Post::model()->findAll($criteria);
$fPost = Post::model()->findByPk($post->id, 'title=:title', [':title' => $post->title]);
$fPost = Post::model()->findByAttributes(['id' => $post->id, 'title' => $post->title]);
$sql = 'SELECT id, title from {{post}} WHERE id = ? AND title = ?'; $fPost = Post::model()->findBySql($sql, [$post->id, $post->title]);
$sql = 'SELECT id, title from {{post}} WHERE id = :id AND title = :title'; $fPost = Post::model()->findBySql($sql, [':id' => $post->id, ':title' => $post->title]);
}
public function countPost() { $post = $this->posts('post1');
$cPost = Post::model()->count('?', [$post->title]);
$cPost = Post::model()->countByAttributes(['title' => $post->title, 'content' => $post->content]);
$sql = "SELECT title from {{post}} WHERE title LIKE '%" . $post->title . "%'"; $cPost = Post::model()->countBySql($sql); $ePost = Post::model()->exists('id=?ANDtitle=?', [$post->id, $post->title]); }
public function updatePost() { $post = $this->posts('post1'); $post->title = 'updatepost1';
if ($post->isNewRecord) { $post->create_time = $post->update_time = new CDbExpression('NOW()'); } else { $post->update_time = time(); }
$post->save();
$sql = "SELECT * FROM {{post}} WHERE title LIKE '%" . "post" . "%'";
$post = Post::model()->findBySql($sql); $post->updateAll(['update_time' => time()], 'id<=?', ['2']);
$post->updateByPk($post->id + 2, ['title' => 'updatepost3']); $post->updateByPk($post->id, ['title' => 'updatepost3'], 'id=?', ['3']);
$tag = $this->tags('tag1'); $uTag = Tag::model()->updateCounters(['frequency' => '3'], 'id=?', ['1']); }
public function deletePost() { $post = $this->posts('post1'); $post->delete();
$this->assertEquals(1, $post->id); $post2 = Post::model()->findByPk($post->id); $this->assertEquals(null, $post2);
$delete = Post::model()->deleteAll('(id = ? AND title = ?) || (id = \'4\') ', [1, 'post1']); $this->assertEquals(0, $delete);
$delete = Post::model()->deleteAllByAttributes(['id' => '2'], 'content=?', ['content2']); $this->assertEquals(1, $delete); } }
|