我在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