したがって、プロファイル テーブルで、新しいテーブル Rayon の「id」の FK である「rayon_id」という名前の新しいフィールドを作成しました。
両方のモデルにコード化された関係がありました。
のRayon.php
/**
* @return \yii\db\ActiveQuery
*/
public function getProfiles()
{
return $this->hasMany(Profile::className(), ['rayon_id' => 'id']);
}
および In Profile.php
(オーバーライドされたモデル)
namespace app\models;
use dektrium\user\models\Profile as BaseProfile;
class Profile extends BaseProfile
{
public function getRayon()
{
return $this->hasOne($this->module->modelMap['Rayon'], ['id' => 'rayon_id']);
}
そして、ここで私のオーバーライドされたコントローラAdminController.php
namespace app\controllers\user;
use dektrium\user\controllers\AdminController as BaseAdminController;
use Yii;
use yii\helpers\Url;
use backend\models\Rayon;
class AdminController extends BaseAdminController
{
public function actionUpdateProfile($id)
{
Url::remember('', 'actions-redirect');
$user = $this->findModel($id);
$profile = $user->profile;
$rayon = $profile->rayon;
追加中にエラーが発生しました$rayon = $profile->rayon;
未定義のインデックスを取得するのはなぜですか?