insert-delayed-behavior Allows to save model with INSERT DELAYED query

  1. Requirements
  2. Usage
  3. Resources

This behavior allows to save model with INSERT DELAYED.

Requirements

Yii 1.1 or above

Usage

Define behaviors() method in your ActiveRecord mode as follows:

Model.php

public function behaviors()
{
	return array(
		'saveDelayed' => array(
			'class' => 'ext.behaviors.insert-delayed.InsertDelayedBehavior'
			'afterSaveFunction' => 'afterSave',
			'beforeSaveFunction' => 'beforeSave', 
			'onFailSimpleInsert' => true,
		);
	);
}

and now you can call saveDelayed() instead of save() inside controller:

Controller.php

public function saveModel($model)
{
	...
	$model->saveDelayed();
	...
}

By default afterSave function call is disabled. If you specify a function to call after save, you can't get there primary key of inserted model.

Note that INSERT DELAYED is possible only when model just created.

Resources

Insert delayed behavior on GitHub