我是Yii Framework的新手。 我的目标是显示当前用户拥有的所有“平板电脑”。
在我的模型中,我有2个表,Tablette和Client。在Tablette中有一个指向Client表的外键,用于标识tablette的所有者。
这是我的控制器代码:
public function displayTablettesUser()
{
$user_id = Yii::$app->user->getId();
$var_tablette = Tablette::find()->where(['ID_fk_client' => 'user_id']);
// Send toutes les tablettes du client
return $this->render('profile', array('tablettes' => $var_tablette));
}
这是我的PHP代码,用于显示当前用户的平板电脑:
<?php
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
use app\assets\AppAsset;
AppAsset::register ( $this );
foreach($tablettes as $tablette){
echo($tablette->code)." : ".$tablette->iDFkClient->firstName."</br>";
}
?>
当我加载我的网页时,我收到此错误:
尝试获取非对象的属性。
我认为我是这个框架的初学者,我可能错过了一些东西,但我不知道是什么。
答案 0 :(得分:0)
除了评论之外,如果你用Gii生成模型,你应该在Tablette模型中有一个函数,如:
public function getClient()
{
return $this->hasOne(Client::className(), ['id' => 'ID_fk_client']);
}
所以观点:
foreach($tablettes as $tablette){
echo ($tablette->code)." : ".$tablette->getClient()->one()->firstName."</br>";
}