我是[Flags]
enum CheckboxActions
{
None = 0,
CheckBox1 = 1,
CheckBox2 = 2,
CheckBox3 = 4,
CheckBox4 = 8,
DoJustCB1 = CheckboxActions.CheckBox1,
DoJustCB2 = CheckboxActions.CheckBox2,
DoCB1AndCB2ButNeverCB4 = CheckboxActions.CheckBox1 | CheckboxActions.CheckBox2
}
框架中的一个初学者,我无法找到如何在视图中显示关系。
我试过这种方式:
yii
我的观看代码如下:
my model (Cities.php)
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'states' => array(self::BELONGS_TO, 'State', 'state_id')
);
}
但我得到了<?php
$cities = Cities::model()->findAll();
foreach($cities as $city){
$state=States::model()->findByPk($city->id);?>
<tr>
<td><?php echo cities.state_id;?></td>
</tr>
<?php } ?>
。我该如何解决这个错误?
答案 0 :(得分:2)
替换您的代码如下:
<?php echo $city.state_id;?></td>
我已将cities.state_id
替换为$city.state_id
两个错误,如下所示
$cities
上循环,而您的变量$city
是单个对象。echo cities.state_id
,因为您假设使用$ city而且您没有为变量添加$
名称。阅读评论后编辑: 现在,如果要使用关系显示州名,可以按以下方式执行:
<?php echo $city->states->state_name; ?>
其中states
是关系名称
答案 1 :(得分:1)
这将有效:
<?php
$cities = Cities::model()->findAll();
foreach($cities as $city) {
?>
<tr>
<td><?php echo $city->states->state_name;?></td>
</tr>
<?php
}
?>
模特:
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'states' => array(self::BELONGS_TO, 'State', 'state_id')
);
}
在这里,
states
是关系名称
BELONGS_TO
是关系类型
State
是它所连接的模型
state_id
是外键