2015-05-29 42 views
0

我有一個多態關聯:我怎樣才能得到URL到模型實例中Yii2

public function getImageable() 
{ 
    $classname = 'app\\models\\' . $this->imageable_type; 
    return $this->hasOne($classname, ['id' => 'imageable_id']); 
} 

可以返回不同模型的實例。我需要在索引視圖中呈現鏈接到imageable模型實例。我怎樣才能做到這一點?我需要一些東西給我的view行動的網址imageable_type這不是當前的控制器。

Url:to($controllerId . '/view', 'id' => $this->imageable_id) 

但我的問題是,我怎麼能deternine從modelcontrollerId

+3

目前尚不清楚你想要完成的任務。您可以創建控制器操作的鏈接,而不是模型。 – Viacheslav

+0

編輯我的問題要更清楚。 –

回答

0

$ classname是一個字符串。

構建一個

function getImageableName() { 
    return 'app\\models\\' . $this->imageable_type; 
} 

返回的名稱,你需要

Url::to($model->getImageableName())