【问题标题】:YiiMongoDbSuite and comboboxYiiMongoDbSuite 和组合框
【发布时间】:2012-10-10 01:39:08
【问题描述】:

有人知道如何用 mongodb 集合填充组合框列表吗?

$list = CHtml::listData($industryModels, '_id', 'name');
echo $form->dropDownListRow($model, 'industry_id', $list);'

不会工作,因为 _id 是一个 mongoId 对象并且 toString 不会自动调用。我收到以下错误:

PHP warning Illegal offset type

基于堆栈跟踪意味着对象不能用作数组键。

那么我如何让 mongoId 字符串用作组合框列表中的键???

【问题讨论】:

    标签: php mongodb combobox yii


    【解决方案1】:

    尽量不要使用 CHtml::listData

    $list = array();
    foreach ($industryModels as $industryModel) {
        $list[$industryModel->_id] = $industryModel->name;
    }
    echo $form->dropDownListRow($model, 'industry_id', $list);
    

    【讨论】:

    • 这个答案将引发与 Simba 提到的相同的警告,MongoId 对象不能用作数组索引。您必须将 _id 转换为字符串。
    • 这行得通...我在 mongoId 对象中调用了 __toString() 方法。
    猜你喜欢
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    相关资源
    最近更新 更多