我在我的网站上使用CodeIgniter.我目前正在尝试实现一个管理部分,我将启用CRUD功能.
我在网上搜索并发现了CI的两个不同扩展.
任何人都可以建议哪一个更好?
编辑:我正在使用PostgreSQL数据库.
CodeIgniter应用程序开发得更早,但当时没有计划集成ReactJS.添加了后来的要求以将另一个ReactJS项目与此后端集成并替换当前前端(视图).
CodeIgniter应用程序不是作为RESTful API完成的..php视图文件无法替换为reactjs应用程序的.js文件,因为服务器是Apache.运行nodejs服务器不会呈现CodeIgniter视图.
BootIrap,jquery和简单的javascript可以包含在CodeIgniter应用程序的视图中.但是有可能用JavaScript文件替换CodeIgniter中的PHP视图文件吗?
我必须具有这些架构的表:
users(id, name, email)
user_details (id, user_id, physical_address, otherinfo)
Run Code Online (Sandbox Code Playgroud)
当我尝试在第一个表上使用设置关系时,我想使用杂货杂货在一个网格中显示两个表的所有内容,如下所示: 注意:我已经减少了渲染视图的部分;
$crud = new grocery_CRUD();
$crud->set_table('users');
$crud->set_relation('id', 'user_details', '{physical_address} + {otherinfo}');
Run Code Online (Sandbox Code Playgroud)
id 字段的值以及引用的表不会出现在网格中,因此在使用主键时它似乎不起作用。
所以我决定从第二个表的内容开始,如下所示:
$crud = new grocery_CRUD();
$crud->set_table('user_details');
$crud->set_relation('user_id', 'users', '{name} + {email}');
Run Code Online (Sandbox Code Playgroud)
这是可行的,但问题是这些值出现在网格的一列中。我想知道如何将它们分成不同的列并使其在单独的输入字段中可编辑。
在杂货店中,相关表格不会进行搜索.
搜索仅发生在该表字段中.
function index() {
$crud = new grocery_CRUD();
$crud->set_theme('flexigrid');
$crud->set_table('table_name');
$crud->display_as('id','Name');
$crud->callback_column('id', array($this, 'changeName'));
$output = $crud->render();
}
Run Code Online (Sandbox Code Playgroud)
function changeName($value, $row) {
$new = $this->db->select('name')->where('another_table.id', $row->id)->get('another_table')->result();
if(!empty($new)){
return $new[0]->name;
} else {
return $value;
}
}
Run Code Online (Sandbox Code Playgroud)
这里搜索名称没有发生.
有人有解决方案吗?
提前致谢.
我正在尝试使用callback_column函数更改列值.
$crud = new grocery_CRUD();
$crud -> set_table('booking');
//$crud->set_relation('room_id','rooms','name');
$crud->callback_column('room_id',array($this,'_visitor_details_popup'));
Run Code Online (Sandbox Code Playgroud)
此代码运行良好(_visitor_details_popup函数返回值room_id)
$crud = new grocery_CRUD();
$crud -> set_table('booking');
$crud->set_relation('room_id','rooms','name');
$crud->callback_column('room_id',array($this,'_visitor_details_popup'));
Run Code Online (Sandbox Code Playgroud)
这段代码效果不好(room_id不改变)
public function _visitor_details_popup($value, $row)
{
$visitor_details=explode(',',$value);
return '<a href="#">Name'.$visitor_details[1].'<a>'.'<div class="popup_content">Address'.$visitor_details[2].'Email'.$visitor_details[3].'</div>;
}
Run Code Online (Sandbox Code Playgroud)
这是杂货店的臭虫?任何棘手的解决方法?
我在使用Drop Downs时遇到了一个问题.我试图使用这个 http://www.grocerycrud.com/forums/topic/1087-updated-24112012-dependent-dropdown-library/
但实际上我的要求是完全不同的.我有一个表fwld_products,其中我正在添加所有其他表的类别
fwld_cat_main(主要类别的ID),
fwld_cat_sub1(sub1类别的id)
fwld_cat_sub2(sub2类别的id)
fwld_cat_sub3(sub3类别的id)
我希望以这种方式显示下拉,当用户选择主类别时,下拉显示(sub1)具有与主类别相关的数据,当选择sub1时下拉显示(sub2)显示与sub1相关的数据,并且sub2选择并删除down(sub3)显示与下拉(sub2)相关的数据.
当提交Finnally数据时插入[fwld_products].
这里我附上了ERD,结果也是如此.

请帮忙
我正在使用Grocery CRUD(创建一个完整功能的CRUD的PHP库),我有非常基本的用户表.
id | first_name | 姓
其中一些用户是亲戚.所以我希望有一个单独的关系表,看起来像
id | first_users_id | second_user_id | relation_type
如何将这种关系添加到Grocery CRUD中,这样当我编辑用户的配置文件时,我会选择其他用户,这些用户是为每个用户提供关系类型的亲戚?
有没有办法使由 Grocery CRUD 呈现的特定列右对齐?
就我而言,我只想专门右对齐“奖励值”列。

我们将非常感谢您的帮助。
我可以针对以下问题提出设计建议:
我正在使用Codeigniter/Grocery_CRUD.
我的系统是多租户 - 不同的自治站点 - 在同一个客户端内.我有很多具有唯一逻辑键的表实例.一个这样的表结构是:
equip_items
id(pk)
equip_type_id(fk to equip_types)
site_id(fk to sites)
名称
其中(equip_type_id,site_id,name)一起是我的数据库中的唯一键.
问题是当使用grocery_CRUD表单添加或编辑打破此数据库规则的记录时 - 添加或编辑失败(由于数据库中的约束)但我得不到任何反馈.
我需要对is_unique form_validation规则进行修改,通过该规则我可以指定必须唯一的字段*s*.
问题:
如何指定规则?set_rules()用于给定字段,我有多个规则将应用于的字段.这是否意味着我应该放弃Form_validation模式?或者我是否遵循"匹配"规则模式并以某种方式指向其他字段?
也许一个回调函数会更好,但这意味着在每个模型中编写一个自定义函数,我在这里有这个问题,这是9个表.在一个地方(扩展form_validation)似乎要好得多.
我错过了已经解决了这个问题的codeigniter或grocery_CRUD中的东西吗?
任何您可能有的建议/意见将不胜感激.
编辑: 实际上似乎Johnny提供的解决方案并没有达到标记 - 它强制unique_fields()中的每个字段独立地唯一 - 与在每个字段上设置is_unique()相同.我的问题是,在我的场景中,这些字段是复合唯一键(但不是主键).我不知道它是否重要但是对原始问题陈述更进一步:1)site_id是一个'隐藏'field_type - 我不希望我的用户担心他们在不同的网站上所以我正在处理后面的site_id场景.2)处理equip_status_id属性(不是唯一键的一部分).3)我对所有这些外键属性都有set_relations(),而grocery_CRUD对我有好处.
编辑2 我用回调解决了这个问题.
是否可以将javascript函数添加到grocery_CRUD的添加/编辑表单中?
例如,当用户在添加或编辑记录时键入特定字段时,我想在keydown事件上执行javascript.
如果是这样,怎么样?