【问题标题】:How to handle asMany relationship in Collapse::widget on Yii2如何在 Yii2 上的 Collapse::widget 中处理 asMany 关系
【发布时间】:2015-10-04 13:16:29
【问题描述】:

我在yii2制作的系统上的一个小票模块中工作,这些票是由笔记组成的,我想在每张票的摘要中,我想使用折叠小部件yii2(http:/ / www .yiiframework.com / doc-2.0 / yii-bootstrap-collapse.html) 来显示相关注释列表,但我发现以下错误:尝试获取非对象的属性

模型

门票

public function rules()
{
    return [
        [['content','subject'], 'string'],
    ];
}


public function attributeLabels()
{
    return [
        'id_ticket' => Yii::t('app', 'Id Ticket'),
        'subject' => Yii::t('app', 'Subject'),
        'content' => Yii::t('app', 'Content'),
    ];
}

public function getNotes()
{
    return $this->hasMany(Nota::className(), ['ticket_id' => 'id_ticket']);
}

注意

public function rules()
{
    return [
        [['content','subject'], 'string'],
    ];
}

public function attributeLabels()
{
    return [
        'id_note' => Yii::t('app', 'Id Note'),
        'ticket_id' => Yii::t('app', 'Ticket ID'),
        'subject' => Yii::t('app', 'subject'),
        'content' => Yii::t('app', 'content'),
    ];
}

public function getTicket()
{
    return $this->hasOne(Ticket::className(), ['id_ticket' => 'ticket_id']);
}

查看

Collapse::widget([
                   'items' => [
                        [
                        'label' => $model->notes->subject,
                        'content' => $model->notes->content,
                        ],
                    ]
                 ]);

【问题讨论】:

    标签: twitter-bootstrap widget yii2 has-many collapse


    【解决方案1】:

    尝试遍历笔记:

    $notes= [];
    
    foreach($model->notes as $note) {
      $notes[] = [
        'label' => $note->subject,
        'content' => $note->content,
      ];
    }
    

    然后将注释分配给小部件:

    Collapse::widget(['items' => $nodes]);
    

    希望有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 2015-04-07
      • 2015-06-17
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 2017-09-14
      相关资源
      最近更新 更多