0

我有一个没有 id 字段的表,并使用字段“app_no”作为主键。

现在我必须保存到这个模型/表......但是模型中没有 $id ,因此它失败了。

有没有什么方法可以在Model->save()没有 的情况下进行保存$id

备注:该表与其他项目共享,因此不能对表结构进行任何更改。

4

2 回答 2

2

改为使用Model::updateAll()。第一个参数采用新值,第二个参数采用条件。

所以你可以做

$this->Model->updateAll(array("Model.value" => "'value'"),array("Model.name" => "name123"));

但要小心,不像save(),这需要 MySQL 表达式。

好的,起初这听起来像您没有主键。如果您只需要一个不同名称的 PK 字段,只需在模型中执行此操作:

public $primaryKey = 'app_no';

或者您可以直接在 Model 对象上设置属性

$this->Model->primaryKey
于 2013-06-10T12:21:12.820 回答
1

您可以在模型中设置主键,例如:

//Model 
var $primaryKey = 'app_no';

然后保存将按照您需要的方式工作。

请使用此链接检查“primaryKey”部分:http: //book.cakephp.org/2.0/en/models/model-attributes.html

于 2013-06-10T12:24:45.780 回答