Ive been trying to think of / find a solution to an issue i have. Im creating a menu system for my Yii app but I need to store part of the items need for creating the URL in a table.
I have a table called system_menu_item:
———————————————————————|
item_id | dis_text | action | variables |
———————————————————————|
1 | edit article | document/view | array(‘id’=>$model->arl_id) |
What i was hoping for was:
$model = SystemMenuItem::model()->findByPk('1');
$url = yii::app()->createUrl($model->action, $model->variables);
This doesn’t work.. I tried different ways of doing it all not working. Any ideas?
Thanks
I’m going to guess the issue is that $model->variables evaluates to a string with the value
array('id'=>$mode->arl_id).An ugly (and dangerous!) hack would be to read this in using eval()
A better way would be to probably figure out a different way to store your parameters, and read them into an array after performing your DB query.