2015-05-29 39 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())