Hi,
After implementing the code of ch6 page 140 i’m having this error and was not able to find what’s wrong. Here’s the code:
from protected/views/issue/view.php:
<?php
$this->breadcrumbs=array(
'Issues'=>array('index'),
$model->name,
);
$this->menu=array(
array('label'=>'List Issue', 'url'=>array('index')),
array('label'=>'Create Issue', 'url'=>array('create')),
array('label'=>'Update Issue', 'url'=>array('update', 'id'=>$model->id)),
array('label'=>'Delete Issue', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')),
array('label'=>'Manage Issue', 'url'=>array('admin')),
);
?>
<h1>View Issue #<?php echo $model->id; ?></h1>
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'id',
'name',
'description',
array(
'name'=>'type_id',
'value'=>CHtml::encode($model->getTypeText())
),
array(
'name'=>'status_id',
'value'=>CHtml::encode($model->getStatusText())
),
array(
'name'=>'owner_id',
'value'=>CHtml::encode($model->owner->username)
),
array(
'name'=>'requester_id',
'value'=>CHtml::encode($model->requester->username)
),
),
)); ?>
the relationship method of my issue model:
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(
'owner' => array(self::BELONGS_TO, 'User', 'owner_id'),
'project' => array(self::BELONGS_TO, 'Project', 'project_id'),
'requester' => array(self::BELONGS_TO, 'User', 'requester_id'),
);
}
and the stack trace:
PHP Error
Trying to get property of non-object
C:\yii\site\httpdocs\trackstar\protected\views\issue\view.php(34)
22 ‘name’,
23 ‘description’,
24 array(
25 ‘name’=>‘type_id’,
26 ‘value’=>CHtml::encode($model->getTypeText())
27 ),
28 array(
29 ‘name’=>‘status_id’,
30 ‘value’=>CHtml::encode($model->getStatusText())
31 ),
32 array(
33 ‘name’=>‘owner_id’,
34 ‘value’=>CHtml::encode($model->owner->username)
35 ),
36 array(
37 ‘name’=>‘requester_id’,
38 ‘value’=>CHtml::encode($model->requester->username)
39 ),
40 ),
41 )); ?>
Stack Trace
#0
C:\yii\site\cgi-bin\libs\yii\framework\web\CBaseController.php(119): require("C:\yii\site\htt…")
#1
C:\yii\site\cgi-bin\libs\yii\framework\web\CBaseController.php(88): CBaseController->renderInternal("C:\yii\site\htt…", array("model" => Issue), true)
#2
C:\yii\site\cgi-bin\libs\yii\framework\web\CController.php(866): CBaseController->renderFile("C:\yii\site\htt…", array("model" => Issue), true)
#3
C:\yii\site\cgi-bin\libs\yii\framework\web\CController.php(779): CController->renderPartial("view", array("model" => Issue), true)
#4
–
C:\yii\site\httpdocs\trackstar\protected\controllers\IssueController.php(61): CController->render("view", array("model" => Issue))
56 */
57 public function actionView($id)
58 {
59 $this->render(‘view’,array(
60 ‘model’=>$this->loadModel($id),
61 ));
62 }
63
64 /**
65 * Creates a new model.
66 * If creation is successful, the browser will be redirected to the ‘view’ page.
#5
unknown(0): IssueController->actionView("1")
#6
C:\yii\site\cgi-bin\libs\yii\framework\web\actions\CAction.php(104): ReflectionMethod->invokeArgs(IssueController, array("1"))
#7
C:\yii\site\cgi-bin\libs\yii\framework\web\actions\CInlineAction.php(48): CAction->runWithParamsInternal(IssueController, ReflectionMethod, array("r" => "issue/view", "id" => "1"))
#8
C:\yii\site\cgi-bin\libs\yii\framework\web\CController.php(300): CInlineAction->runWithParams(array("r" => "issue/view", "id" => "1"))
#9
C:\yii\site\cgi-bin\libs\yii\framework\web\filters\CFilterChain.php(133): CController->runAction(CInlineAction)
#10
C:\yii\site\cgi-bin\libs\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
#11
C:\yii\site\cgi-bin\libs\yii\framework\web\CController.php(1122): CFilter->filter(CFilterChain)
#12
C:\yii\site\cgi-bin\libs\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(CFilterChain)
#13
C:\yii\site\cgi-bin\libs\yii\framework\web\filters\CFilterChain.php(130): CInlineFilter->filter(CFilterChain)
#14
C:\yii\site\cgi-bin\libs\yii\framework\web\CController.php(283): CFilterChain->run()
#15
C:\yii\site\cgi-bin\libs\yii\framework\web\CController.php(257): CController->runActionWithFilters(CInlineAction, array("accessControl", "projectContext + create"))
#16
C:\yii\site\cgi-bin\libs\yii\framework\web\CWebApplication.php(328): CController->run("view")
#17
C:\yii\site\cgi-bin\libs\yii\framework\web\CWebApplication.php(121): CWebApplication->runController("issue/view")
#18
C:\yii\site\cgi-bin\libs\yii\framework\base\CApplication.php(155): CWebApplication->processRequest()
#19
–
C:\yii\site\httpdocs\trackstar\index.php(13): CApplication->run()
08 defined(‘YII_DEBUG’) or define(‘YII_DEBUG’,true);
09 // specify how many levels of call stack should be shown in each log message
10 defined(‘YII_TRACE_LEVEL’) or define(‘YII_TRACE_LEVEL’,3);
11
12 require_once($yii);
13 Yii::createWebApplication($config)->run();
2011-06-19 14:37:09 Apache/2.2.19 (Win32) Yii Framework/1.1.7