BDD请求与Yii的内连接


BDD request with inner join with Yii

我是Yii框架的新手。我的目标是显示当前用户拥有的所有"平板电脑"。

在我的模型中,我有2个表,表和客户端。在表中,有一个指向客户端表的外键来标识表的所有者。

这是我的控制器代码:

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>";
}

?>

当我加载我的网页,我得到这个错误:

尝试获取非对象的属性。

我假设我是这个框架的初学者,我可能错过了一些东西,但我不知道是什么

除了注释之外,如果您已经使用Gii生成了模型,那么您应该在Tablette模型中有一个函数,如:

public function getClient()
{
    return $this->hasOne(Client::className(), ['id' => 'ID_fk_client']);
}

所以view:

foreach($tablettes as $tablette){
        echo ($tablette->code)." : ".$tablette->getClient()->one()->firstName."</br>";
}