mysql - atk4 数据库表 ID

标签 mysql database orm model atk4

我有一个关于 atk4 MVCgrid 的问题,我的数据库表没有一个名为“id”的字段我的主键是 id_material,我无法更改 idfield,我的 SQL 包含一个不存在的文件 ID存在所以失败。 如何使用我的真实主键更改默认 ID 主键字段 (id)?

我的简单代码:

class Model_Material  extends Model_Table 
{
    public $entity_code='material';
    public $table_alias='p';
    function defineFields(){
        parent::defineFields();
        $this->addField('id_material');
        $this->addField('material');
    }
}

谢谢

最佳答案

您需要做的就是创建一个别名:

$this->getField('id')->calculated(true);

function calculate_id(){
    return 'id_material';
}

使用外键你会遇到更多困难。您可能希望关注 4.2 版本,它将具有更大的灵 active 。

关于mysql - atk4 数据库表 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8277642/

相关文章:

database - Sonar : com. mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障

.net - ADO.NET Entity Framework 中的持久性无知是否意味着我认为的意思?

java - hibernate insert to a collection 导致删除,然后再次插入集合中的所有项目

php - 如何对mysql_real_escape_string进行SQL查询?

mysql - 使用 MySQL 语法更新 json 数组中 json 对象的特定键/值

python - 更新 MySQL 中的行,无需 ORM

php - 从 android 将数组发送到我的数据库

MySQL数据库上传错误

php - 不需要在 MySQL 中精确搜索

php - Eloquent mass 插入,重复键更新