我有 3 个模型:客户端、任务和任务状态(用于为每个客户端匹配任务)。
模型_任务
protected static $_properties = array(
'id',
'name',
'created_at',
'updated_at',
);
模型_客户端
protected static $_properties = array(
'id',
'name',
'created_at',
'updated_at',
);
模型_任务状态
protected static $_properties = array(
'id',
'client',
'task',
'created_at',
'updated_at',
);
我已将以下内容添加到 Model_Task
protected static $_has_many = array(
'taskstatuses' => array(
'key_from' => 'id',
'model_to' => 'Model_Taskstatus',
'key_to' => 'task',
'cascade_save' => true,
'cascade_delete' => false,
)
);
模型_客户端
protected static $_has_many = array(
'taskstatuses' => array(
'key_from' => 'id',
'model_to' => 'Model_Taskstatus',
'key_to' => 'client',
'cascade_save' => true,
'cascade_delete' => false,
)
);
模型_任务状态
protected static $_belongs_to = array(
'client' => array(
'key_from' => 'client',
'model_to' => 'Model_Client',
'key_to' => 'id',
'cascade_save' => true,
'cascade_delete' => false,
),
'task' => array(
'key_from' => 'task',
'model_to' => 'Model_Task',
'key_to' => 'id',
'cascade_save' => true,
'cascade_delete' => false,
)
);
我希望 taskstatus 将客户端字段链接到客户端模型,并将任务字段链接到任务模型,如果用户插入的任务的值不在客户端或任务模型中(通过 id),则会出现错误。但它不起作用(我仍然可以向 clientstatus 添加客户端和任务表中不存在的客户端 ID 和任务 ID 的值。