我在Yii2框架中访问ActiveRecord模型的id时遇到问题。当我保存刚刚创建的模型时,我无法获取新对象的id字段。保存ActiveRecord模型后访问id
$house = new House;
$house->save();
$hid = $house->id;
$ hid value is empty string''。
问题是我正在创建新模型,以便我可以将新ID传递给处理文件移动的线程进程,同时创建数据库行。线程启动,并在json切片和数组填充后,第一次插入失败的SQL条件(where)语句。
我已经研究很多答案,他们指出几个缺点:
- PK的分配 - 我不分配新模式id字段(DB处理的PK自动递增),我收到$ _ POST体通过JSON的内容(JSON有很多字段不是批量分配到主模型,所以我处理JSON数据在$ attibutes插入之前切片)。
- PK在模型规则 - 我没有模型规则数组中的ID字段。
- ActiveRecord类中的错误 - 我不想破解框架的基类。
后来在代码中,我计划通过关系来链接模型,但是我认为失败是因为这个错误,所以我还使用$ hid值填充相关模型中的外键字段。
帮助。请。
'save()'return'true'? 尝试'print_r($ house-> errors);'看看验证是否失败。 – Alex