Class rootlocal\crud\actions\UpdateAction

Inheritancerootlocal\crud\actions\UpdateAction » rootlocal\crud\components\Action » yii\base\Action » yii\base\Component » yii\base\BaseObject
Implementsrootlocal\crud\components\ActionInterface, yii\base\Configurable

Class UpdateAction Updates an existing yii\db\ActiveRecord model.

If update is successful, the browser will be $redirect to the 'view' page.

examples:

// lambda function:
public function actions()
{
     'update' => [
         'class' => UpdateAction::class,
         'scenario' => Book::SCENARIO_UPDATE,
         'model' => function ($id, $scenario) {
             $model = Book::find()->where(['id' => $id])->active()->one();
             if($model !== null)
                 $model->scenario = $scenario;
             return $model;
         }
     ]
}

// string:
public function actions()
{
     'update' => [
         'class' => UpdateAction::class,
         'scenario' => Book::SCENARIO_UPDATE,
         'model' => Book::class
     ]
}

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$checkAccess Closure|array Callable a PHP callable that will be called when running an action to determine if the current user has the permission to execute the action. rootlocal\crud\components\Action
$controller yii\base\Controller|yii\web\Controller|yii\console\Controller The controller that owns this action yii\base\Action
$id string ID of the action yii\base\Action
$model string|Closure|array ActiveRecord Model rootlocal\crud\actions\UpdateAction
$redirect string|array The URL to be redirected to. rootlocal\crud\actions\UpdateAction
$scenario string|null Scenario for model. rootlocal\crud\actions\UpdateAction
$uniqueId string The unique ID of this action among the whole application. yii\base\Action
$view string The view name. rootlocal\crud\actions\UpdateAction

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. yii\base\BaseObject
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\Action
__get() Returns the value of an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canGetProperty() Returns a value indicating whether a property can be read. yii\base\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
className() Returns the fully qualified name of this class. yii\base\BaseObject
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getModel() Get model rootlocal\crud\actions\UpdateAction
getScenario() Get scenario rootlocal\crud\actions\UpdateAction
getUniqueId() Returns the unique ID of this action among the whole application. yii\base\Action
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
init() Initializes the object. rootlocal\crud\actions\UpdateAction
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
run() Runs the action. rootlocal\crud\actions\UpdateAction
runWithParams() Runs this action with the specified parameters. yii\base\Action
setModel() Set model rootlocal\crud\actions\UpdateAction
setScenario() Set scenario rootlocal\crud\actions\UpdateAction
trigger() Triggers an event. yii\base\Component

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
afterRun() This method is called right after run() is executed. yii\base\Action
beforeRun() This method is called right before run() is executed. yii\base\Action
findModel() Finds the Alias model based on its primary key value. rootlocal\crud\actions\UpdateAction

Property Details

$model public property

ActiveRecord Model

public string|Closure|array getModel ( )
public void setModel ( $model )
$redirect public property

The URL to be redirected to. This can be in one of the following formats:

  • a string representing a URL (e.g. "http://example.com")
  • a string representing a URL alias (e.g. "@example.com")
  • an array in the format of [$route, ...name-value pairs...] (e.g. ['site/index', 'ref' => 1]) yii\helpers\Url::to() will be used to convert the array into a URL.

Any relative URL that starts with a single forward slash "/" will be converted into an absolute one by prepending it with the host info of the current request.

<?= \yii\helpers\Html::a('Update', ['update', 'id' => $model->id, 'redirect' => 'index'], [
'class' => 'btn btn-primary btn-sm'
]) ?>
public string|array $redirect null
$scenario public property

Scenario for model. Defaults to yii\db\ActiveRecord::SCENARIO_DEFAULT

public string getScenario ( )
public void setScenario ( $scenario )
$view public property

The view name.

public string $view 'update'

Method Details

findModel() protected method

Finds the Alias model based on its primary key value.

If the model is not found, a 404 HTTP exception will be thrown.

protected yii\db\ActiveRecord findModel ( $id )
$id integer

Primary key

return yii\db\ActiveRecord

The loaded model

throws \yii\web\NotFoundHttpException

if the model cannot be found

getModel() public method

Get model

public string|Closure|array getModel ( )
return string|Closure|array

ActiveRecord Model

throws yii\base\ErrorException

if Model not specified (not set)

getScenario() public method

Get scenario

public string getScenario ( )
return string

Scenario for model. Defaults to yii\db\ActiveRecord::SCENARIO_DEFAULT

init() public method

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

public void init ( )
run() public method

Runs the action.

public array|string run ( $id )
$id integer

Primary key

return array|string

Response

setModel() public method

Set model

public void setModel ( $model )
$model string|Closure|array

ActiveRecord Model

setScenario() public method

Set scenario

public void setScenario ( $scenario )
$scenario string|null

Scenario for model. Defaults to yii\db\ActiveRecord::SCENARIO_DEFAULT