我有一个关于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版本,它将具有更大的灵活性。


https://github.com/atk4/atk4/commits/4.2
https://github.com/atk4/atk4/blob/4.2/lib/Model/Field/Reference.php

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

10-09 23:10