【问题标题】:grocery crud multiselect field杂货杂货多选字段
【发布时间】:2013-10-24 05:04:36
【问题描述】:

使用此网站上显示的“多选字段”功能没有问题:

http://www.grocerycrud.com/documentation/options_functions/field_type

$crud->field_type('fruits','multiselect',
                   array( "1"  => "banana", "2" => "orange", "3" => "apple"));

下一步,我尝试从数据库中提取数据以替换上述公式中的“数组”,但失败了,请告知。

$this->db->select('employeeNumber');
$a = $this->db->get('employees')->result();
$crud->field_type('firstName', 'multiselect', $a);  

我得到的结果像

Array ( [0] => stdClass Object ( [employeeNumber] => 1002 )  
        [1] => stdClass Object ( [employeeNumber] => 1056 )

嗯...如何使它变成这种格式,有什么建议吗?:

array( "1"  => "banana", "2" => "orange", "3" => "apple")

【问题讨论】:

    标签: multi-select grocery-crud


    【解决方案1】:

    你实际上需要在这里做一个 foreach 。在我们的例子中,您需要执行以下操作:

    $this->db->select('employeeNumber');
    $results = $this->db->get('employees')->result();
    $employees_multiselect = array();
    
    foreach ($results as $result) {
        $employees_multiselect[$result->employeeNumber] = $result->employeeNumber;
    }
    
    $crud->field_type('firstName', 'multiselect', $employees_multiselect); 
    

    或者如果你有雇主的名字来做这样的事情会更好:

    $this->db->select('employeeNumber, employeeName');
    $results = $this->db->get('employees')->result();
    $employees_multiselect = array();
    
    foreach ($results as $result) {
        $employees_multiselect[$result->employeeNumber] = $result->employeeName;
    }
    
    $crud->field_type('firstName', 'multiselect', $employees_multiselect); 
    

    【讨论】:

    • 非常感谢 :)。还有一件事,如果我想再添加 1 个这样的字段: select('employeeNumber, employeeName, familyName');怎么输出?
    • 我明白了:$employees_multiselect[$result->employeeNumber] = $result->employeeName。 $result->familyName;
    • 是的,这是正确的做法。这里唯一缺少的是空格。因此,在您的情况下,它将是: $employees_multiselect[$result->employeeNumber] = $result->employeeName ." "。 $结果->家庭名称;如果这对您有所帮助,请在答案中添加一个声誉:-)(这是向上按钮)
    • 我们如何保存多选字段的结果?我只是得到数据库中选择的最后一个 id。
    • 你必须通过回调来做到这一点。在您的情况下,您必须使用 callback_insert 和 callback_update
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多