1.View中的语法.Yii在view里使用自己的语法,常用的是if语句和foreach语句,跟php的语法非常相似.if的语法为:
1
2
3
4
5
6
7 | <?php if ($foo): ?>
<?php echo $foo; ?>
<?php elseif ($bar): ?>
<?php echo $bar; ?>
<?php else: ?>
<?php echo "nothing..."; ?>
<?php endif; ?> |
foreach的语法为:
1
2
3 | <?php foreach ($ones as $key => $value): ?>
<?php echo "key is ".$key " ---- ."value is ".$value; ?>
<?php endforeach; ?> |
基本和php的语法相同,只是这里没有大括号,全部由’:'来代替,结束的时候使用end.
2.Model的关系定义.在Model里,可以定义该Model和其它model的关系,比如说,belongs_to和has_many等.在Model加入relations()方法或者修改现成的relations()方法,下面给出一个例子:
1
2
3
4
5
6
7
8
9 | <?php
public function relations() {
return array(
'topicCount' => array(self::STAT, 'TClubTopic', '_club'),
'creator'=>array(self::BELONGS_TO, 'TUser', '_creator'),
'topics' => array(self::HAS_MANY, 'TClubTopic', '_club'),
);
}
?> |
topicCount和creator定义的是返回对象的别名.
self::STAT定义的是关联表的记录数,相当于一个count.self::BELONGS_TO定义的是1对1的关系,比如说,日志跟用户的关系,一个日志对应一个用户.self::HAS_MANY定义的是多对多的关系,一个用户可能有很多的日志,他跟日志的关系就是多对多了.
TClubTopic和TUser是关联的Model名字,_club和_creator关联Model的外键.