0

我在OctoberCMS中使用Builder插件创建了一个插件,其中有columns.yaml文件。

在一个名为 的字段property_id中,我有一个字段为VALUE FROM,它要求添加我的表的字段名称,因此我添加了一个名为 as 的字段street_number

但我想在那里连接多个字段。像下面的东西。

CONCAT(street_number, ' ', address)

但这不起作用。我也尝试过其他方法,但仍然无法正常工作。

有人可以指导我如何做到这一点吗?

此外,如果这些字段各自的值存在于表中,那么如果这些字段得到连接,那就太好了。

这就是我的columns.yaml文件的样子。

columns:
    property_id:
        label: Property
        type: text
        searchable: true
        sortable: false
        relation: Property
        valueFrom: street_number
    start_datetime:
        label: 'Start Date Time'
        type: datetime
        searchable: true
        sortable: true
    end_datetime:
        label: 'End Date Time'
        type: datetime
        searchable: true
        sortable: true
    status:
        label: Status
        type: number
        searchable: true
        sortable: true
        select: 'CASE WHEN (status =  ''1'' ) THEN ''Active'' ELSE ''Inactive'' END'

谢谢

4

2 回答 2

2

好了朋友们,

由于上面Pratyush Pundir的一个很好的建议链接,我想出了一个解决方案。这是我为实现这一目标所做的工作。

在columns.yaml文件中更新了下面的代码块。

columns:
    property_id:
        label: Property
        type: property_details
        searchable: true
        sortable: false
        relation: Property

在这里添加type: property_details

打开并更新了我的Plugin.php文件并添加了以下行。

<?php namespace Technobrave\Homeopenintegration;

use System\Classes\PluginBase;


use technobrave\Properties\Models\Property as Property;


class Plugin extends PluginBase
{


    public function registerListColumnTypes()
        {

            return [
                // A local method, i.e $this->evalUppercaseListColumn()
                'property_details' => [$this, 'evalPropertyDetailsListColumn'],        
            ];
        }


    public function evalPropertyDetailsListColumn($value, $column, $record)
    {
        $current_property = Property::where('id', $record->property_id)->first();
        return $current_property->lot;

    }
}

感谢您的努力和帮助。

于 2017-05-08T11:22:03.447 回答
1

由于此处涉及逻辑,您可能只想使用此处详述的自定义列类型https://octobercms.com/docs/backend/lists#custom-column-types。我不想在 yaml 文件中放入太多逻辑。

编辑

OP 添加了一些示例代码,以准确显示我在他的评论中提到的内容

于 2017-05-06T22:05:40.407 回答