标签: grocery-crud

Codeigniter Grocery Crud扩展set_relation()函数?

有没有人知道如何延长set_relation()

这是一个想法,基于Grocery Crud员工和办公室桌子的例子样本表

$crud->set_relation('officeCode','offices','city');
Run Code Online (Sandbox Code Playgroud)

代码输出将显示下拉列表中的所有城市,但我想扩大set_relation()以按状态过滤所有城市以显示在下拉列表中?

例如,我想在下拉列表中显示所有亚利桑那州的城市,有没有人在使用杂货店之前完成此操作?

参考示例:

杂货Crud

codeigniter crud grocery-crud

2
推荐指数
1
解决办法
9934
查看次数

Codeigniter和Grocery CRUD - 致命错误:无法访问空属性

我在此代码中收到"致命错误:无法访问1540行/Applications/XAMPP/xamppfiles/htdocs/cityland/application/libraries/Grocery_CRUD.php中的空属性"错误

public function projectAmenities()
{
        $crud = new grocery_CRUD();

        $crud->set_theme('datatables');
        $crud->set_table('tbl_sys_project_amenity');
        $crud->set_relation('amenity','tbl_sys_amenities','amenity');
        $crud->set_relation('project_id','tbl_sys_projects','project_id');
        $crud->set_subject('Amenities');
        $output = $crud->render();
        $this->projectAmenitiesOutput($output);
}
Run Code Online (Sandbox Code Playgroud)

tbl_sys_project_amenity是tbl_sys_amenities和tbl_sys_projects的关联实体.此错误仅显示在此特定表中.

我的桌子结构

tbl_sys_amenities

amenity
description
Run Code Online (Sandbox Code Playgroud)

tbl_sys_projects

project_id
title
location
Run Code Online (Sandbox Code Playgroud)

tbl_sys_project_amenity

project_id
amenity
quantity
Run Code Online (Sandbox Code Playgroud)

codeigniter grocery-crud

2
推荐指数
1
解决办法
2951
查看次数

在杂货店CRUD上传文件时检查文件格式

我有使用杂货CRUD进行文件上传的以下代码

function test(){
        $crud=new grocery_CRUD();       
        $crud->set_table('test');
        $crud->add_fields('name', 'image');
        $crud->set_field_upload('image', 'test');
        $crud->callback_before_upload('image', array($this, 'before_test_upload'));
        $output=$crud->render();
        $output->page_title="Test Page";
        $this->_crud_output($output);       
    }
function before_test_upload($files_to_upload, $field_info){
        // Here I want to check the file format before that file upload to source folder.
    }
Run Code Online (Sandbox Code Playgroud)

php mysql codeigniter file-upload grocery-crud

1
推荐指数
1
解决办法
3846
查看次数

如何在编辑时隐藏字段,在添加项目时可见?

我在编辑添加条目时必须可见的条目时尝试隐藏字段时遇到问题.

我的表结构如下:

equip_items
--------------
id (pk)
equip_type_id (fk to equip_types)
site_id (fk to sites)
equip_status_id (fk to equip_status)
name
Run Code Online (Sandbox Code Playgroud)

(equip_type_id,site_id,name)是db中的复合唯一键约束.我在name字段上实现了一个回调,它处理了unique_CRUD对唯一约束的验证 - 考虑编辑现有或添加新的equip_items.

function unique_equip_item_check($str, $edited_equip_item_id){
$var = $this->Equip_Item_model->is_unique_except($edited_equip_item_id,$this->input->post('site_id'),$this->input->post('equip_type_id'),$this->input->post('name'));

if ($var == FALSE) {
$s = 'You already have an equipment item of this type with this name.';
$this->form_validation->set_message('unique_equip_item_check', $s);
return FALSE;
} else {
return TRUE;
}
}
Run Code Online (Sandbox Code Playgroud)

我将site_id和equip_type_id设置为隐藏字段,因为我不希望用户更改这些 - 没问题.

$crud->field_type('site_id', 'hidden', $site_id);
$crud->field_type('equip_status_id', 'hidden', iQS_EqStatus_InUse);
Run Code Online (Sandbox Code Playgroud)

当用户添加equip_item时,我希望他们能够从类型列表中选择equip_type - 没问题,这是默认的grocery_CRUD行为.

$crud->add_fields('equip_status_id', 'site_id', 'equip_type_id', 'name');
Run Code Online (Sandbox Code Playgroud)

当用户编辑equip_item时,我不希望用户能够编辑equip_type.我认为没问题我可以设置edit_fields以排除equip_type_id:

$crud->edit_fields('equip_status_id', 'site_id', 'name', 'barcode_no');
Run Code Online (Sandbox Code Playgroud)

但是这会对我的验证回调造成严重破坏,因为equip_type_id字段的值在编辑表单上没有,我的验证例程显然需要它. …

codeigniter hidden-field grocery-crud

1
推荐指数
1
解决办法
6984
查看次数