I’m using yii active records for mysql, and i have a table where there’s a field that needs to be appended with the primary key of the same table. The primary key is an auto increment field, hence i can’t access the primary key before saving.
$model->append_field = "xyz".$model->id; // nothing is appending
$model->save();
$model->append_field = "xyz".$model->id; //id is now available
How do i do this?
I know that i can update right after insertion, but is there a better method?
Your record is only assigned an
idafter the INSERT statement is executed. There is no way to determine what thatidis prior to INSERT, so you would have to execute an UPDATE with the concatenated field value after your INSERT.You could write a stored procedure or trigger in MySQL to do this for you, so your app executes a single SQL statement to accomplish this. However, you are just moving the logic into MySQL and in the end both an INSERT and UPDATE are occurring.