首页 > 解决方案 > 试图从模型中获取价值。十月cms

问题描述

我想将一个模型的记录检索到下拉列表中中继器中的另一个模型中。我必须建模一个是POST,另一个是BLOCK,块模型的记录显示在后端post模型的中继器内的下拉列表中,并将其保存到post模型中

发布yaml

 repeater_data:
        label: Repeater
        prompt: 'Add new item'
        maxItems: '5'
        span: full
        type: repeater
        form:
            fields:
                blocks:
                    label: Dropdown
                    span: full
                    type: dropdown
                    options: blocksToAdd

post.php模型

 protected $jsonable = ['blocks'];

    public function blocksToAdd()
    {
        $blocks = Block::pluck('title');

        //$jenkebOptions= [''];
        foreach ($blocks as $item) {

            // json decoding
            $decoded = json_decode($item, true);
            $jenkebOptions[] = $decoded;
            log::info($decoded);

        }
    return $jenkebOptions;

}

谢谢....

标签: octobercmsoctobercms-backend

解决方案


不知道你为什么需要json_decode或者我错过了什么

在正常情况下,您需要返回values and title对数组

public function blocksToAdd()
{
    return Block::pluck('title','id');
}

这样做它会返回数组

[1 => 'title 1', 2 => 'title 2']

现在在下拉标题[title] 中分别可见它的 value[id]

如果您需要将标题作为值 ind 基础,那么您可以这样做

public function blocksToAdd()
{
    $blockTitles = Block::pluck('id','title');
    $blockTitlesArray = []; 
    foreach($blockTitles as $title) {
        $blockTitlesArray[$title] = $title;
    }
    return $blockTitlesArray; 
}

如有任何疑问,请发表评论。


推荐阅读