2012-07-31 60 views
1

我一直在想办法解决我遇到的问题。我为我的Yii应用程序创建了一个菜单系统,但我需要在表中存储创建URL所需的部分项目。 我有一张名为system_menu_item的表格:Yii - 从存储在表格中的数据创建链接

-------------------------------------- ------------------------------- | item_id | dis_text |行动|变量| ------------------------------------------------- -------------------- | 1 |编辑文章|文件/视图|数组('id'=> $ model-> arl_id)|

什么,我希望是:

$model = SystemMenuItem::model()->findByPk('1'); 
$url = yii::app()->createUrl($model->action, $model->variables); 

这不工作..我尝试做这一切不是不同的工作方式。有任何想法吗?

感谢

+0

当你说“这不起作用”是什么意思?这不是很有用,也没有告诉我们任何事情。运行此代码后,什么是var_dump($ model)和var_dump($ url)? – ernie 2012-07-31 16:44:08

回答

1

我要去猜测的问题是,$模型 - >变量评估与价值array('id'=>$mode->arl_id)的字符串。

丑陋(和危险!)黑客会使用eval()

一个更好的办法是可能找出不同的方式来存储您的参数读取此,并在执行后他们阅读到一个数组您数据库查询。

+0

谢谢..这段代码确实有效:'$ url = yii :: app() - > createUrl($ model-> action,eval('return'。$ model-> variables。';'));'。我之前尝试了eval,但它没有奏效,我想我忘了关闭声明。我知道使用eval的风险,但是除了管理员之外,该字段将关闭所有人。 – 2012-07-31 17:26:40

相关问题