CakePHP:将数据保存在两个模型中

CakePHP:将数据保存在两个模型中,cakephp,Cakephp,在CakePHP中,我有两个模型:客户机和票据。一个客户端可以有多个票证,而一个票证只能有一个客户端 当添加一个新的票证时,我想通过只输入一个名称自动创建一个新的客户端。因此,表格应为: Name=“Name client”>>名称应保存在客户表中票证表中的新客户\u ID中 信息=票证信息>>保存在票证表中。 “保存” 我不知道这是怎么回事。我在模型中有关联,并尝试保存所有关联,但客户机表中没有存储任何数据。我怎样才能在票务表上找到身份证 希望有人能给我指出正确的方向。我一直在寻找其他答案,但

在CakePHP中,我有两个模型:客户机和票据。一个客户端可以有多个票证,而一个票证只能有一个客户端

当添加一个新的票证时,我想通过只输入一个名称自动创建一个新的客户端。因此,表格应为:

Name=“Name client”>>名称应保存在客户表中票证表中的新客户\u ID中 信息=票证信息>>保存在票证表中。 “保存”

我不知道这是怎么回事。我在模型中有关联,并尝试保存所有关联,但客户机表中没有存储任何数据。我怎样才能在票务表上找到身份证


希望有人能给我指出正确的方向。我一直在寻找其他答案,但似乎找不到解决办法。保存是否正确?

在向表中插入值之前,您应该设置一个php条件,sql请求4示例返回相同票证id的重复次数,因此如果返回值大于1,则请求不能执行,否则请求将插入值 计算行数的函数:mysql_num_rows('request')

您可以使用

如果您已在票证模型中定义了与belongsTo客户端的关系,则可以从该模型访问该关系

public $belongsTo = array(
    'Client' => array(
        'className' => 'Client',
        'foreignKey' => 'client_id',
    ),
);
因此,如果您想在保存票据之前创建新客户机,可以执行以下操作:

public function beforeSave ($options = array()) {
    $this->data['Client']['name'] = $someVar;
    $this->Client->save($this->data);
    $this->data[$this->alias]['client_id'] = $this->Client->getInsertID();
    return true;
}

您的客户端验证规则是什么?添加操作代码和请求的数组