希望某人可以将我指向正确的方向。
我有一个包含(除其他事项外)建议和评估的应用。它们与一个联接表联接在一起,该联接表包括我想更新但又想弄清楚如何的额外字段。
正如您在上面看到的,当我创建推荐时,我设置了以下字段:
现在,当我创建新评估或编辑未链接任何建议的评估时,由于不需要将任何内容写入联接表,因此可以节省评估。
[当我尝试编辑评估以包括一个或多个建议时,该应用尝试将链接写入连接表并失败,因为未指定user_impact,business_impact,deployment_complexity和Criticality字段-完全正常,因为我已经设置了MySQL中必需的字段对吗?我在CakePHP中遇到的错误是
SQLSTATE [HY000]:常规错误:1364字段'user_impact'没有默认值
我想做的是在编辑或创建评估时,使用推荐表中的值填充相应的联接表条目。任何想法如何去做?
举个例子:
之所以这样做,是因为我可以为这些建议设置这些字段的值,然后,如果用户想要运行评估,而他们只是想为自己的评估调整值,那么它将不会。不会影响他人,等等。
这是我的评估表关联。
$this->belongsToMany('Recommendations', [
'foreignKey' => 'assessment_id',
'targetForeignKey' => 'recommendation_id',
'joinTable' => 'assessments_recommendations',
'through' => 'assessments_recommendations',
]);
这是我的RecommendationsTable关联。
$this->belongsToMany('Assessments', [
'foreignKey' => 'recommendation_id',
'targetForeignKey' => 'assessment_id',
'joinTable' => 'assessments_recommendations',
'through' => 'assessments_recommendations',
]);
任何帮助将不胜感激。