yii2自動更新時間,根據條件設定指定值,接受多選框的值
gii自動生成的_form.php檔案中,我們可以根據程式碼$model->isNewRecord 返回的值,來判斷當前是增加還是更新,在form.php檔案中,還可以根據它的屬性值給欄位input框賦予預設值
connect欄位為多選框欄位,前臺傳到後臺的資料預設是陣列格式。該欄位對應是讓tostring方法處理,先把它的值賦給靜態變數$connect,然後在beforeSave中把陣列格式化成字串,在返回,存入資料庫。
<?php
namespace backend\models;
use Yii;
use \yii\db\ActiveRecord;
class Newdocument extends ActiveRecord
{
public function beforeSave($insert){
if(parent::beforeSave($insert)){
if($this->isNewRecord){//判斷是更新還是插入
$this->connect = implode(',', $this->connect);
$this->create_time = time();
}else{
$this->update_time = time();
$this->connect = implode(',', $this->connect);
}
return true;
}else{
return false;
}
}
/**
* @inheritdoc
*/
public static function tableName()
{
return 'document';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[[ 'create_time','update_time'], 'integer'],
['connect','tostring'],
];
}
public function tostring(){//可通過方法單獨控制某個欄位,也可以直接通過beforesave方法控制
//if($this->isNewRecord){//判斷是更新還是插入
//$this->connect = implode(',', $this->connect);
//}else{
// $this->connect = implode(',', $this->connect);
//}
&n