gostaria de criar um historico de movimentação para o sistema que estou criando, como faço isso ?
gostaria de criar um historico de movimentação para o sistema que estou criando, como faço isso ?
Sua pergunta é muita ampla e não há como te responder de forma rápida e direta. No que você tem dúvida? O que você conseguiu fazer?
Realmente sua pergunta é bem ampla, mas vamos la, tentarei responder com um exemplo que uso e que talvez de ajude.
Crie uma tabela e model "historic" por exemplo, e em cada action que você deseja armazenar a movimentação, você pode fazer conforme abaixo:
	public function actionCreate()
	{
    	$model = new Solicitation();
    	if ($model->load(Yii::$app->request->post()) && $model->save()) {
        	$modelHistoric = new Historic;
        	$modelHistoric->solicitation_id = $model->id;
        	$modelHistoric->datetime = date('Y-m-d H:i:s');
        	$modelHistoric->user_id = Yii::$app->user->id;
        	$modelHistoric->mod_status_id = $model->status_id;
        	$modelHistoric->observation = '';
        	$modelHistoric->save();
        	return $this->redirect(['view', 'id' => $model->id]);
    	} else {
        	return $this->render('create', [
            	'model' => $model,
        	]);
    	}
	}  
Aí depois é só você recuperar os dados do histórico de acordo com o usuário, id, status, etc… por exemplo.
Cara é o seguinte, comecei a usar o yii a pouco tempo, estou desenvolvendo um sistema de protocolo, onde as pessoas do setor receberão documentos, a movimentação que quero fazer é tipo saber quem encaminhou tal documento, pra onde foi, o que foi feito, a situação dele esses tipos de coisas. Como vc pode me ajudar nisso ? Se quiser posso disponibilizar pra vc o código
Entendi.
Acho que posso te ajudar, fiz um sistema que possui um módulo de PROTOCOLOS e parece ser bem próximo do que você precisa:
Vou te mostrar o MODEL e CONTROLLER dos protocolos pra vc ter uma idéia de quais informações armazeno, como funciona, etc.
MODEL
	public function attributeLabels()
	{
    	return [
        	'id' => 'Nº Protocolo',
        	'sender_user_id' => 'Usuário Remetente',
        	'sender_department_id' => 'Departamento Remetente',
        	'sender_location_id' => 'Unidade Remetente',
        	'recipient_user_id' => 'Usuário Destinatário',
        	'recipient_department_id' => 'Departamento Destinatário',
        	'recipient_location_id' => 'Unidade Destinatário',
        	'description' => 'Descrição',
        	'status_id' => 'Situação',
        	'created' => 'Criado em',
        	'updated' => 'Alterado em',
        	'file' => 'Anexo',
        	'attachment' => 'Anexo',
        	'recipient_date' => 'Recebido em',
        	'recipient_by' => 'Recebido por',
        	'recipient_text' => 'Observação sobre o Recebimento',
        	'completed_date' => 'Concluído em',
        	'completed_by' => 'Concluído por',
        	'completed_text' => 'Observação sobre a Conclusão',
    	];
	}
CONTROLLER
	public function actionCreate()
	{
    	$model = new registros();
    	$model->sender_user_id      	= Yii::$app->user->id;
    	$model->sender_department_id	= Yii::$app->user->identity->department_id;
    	$model->sender_location_id  	= Yii::$app->user->identity->location_id;
    	$model->sender_department_id	= Yii::$app->user->identity->department_id;
    	$model->status_id   = 0;   
    	$model->created 	= date('Y-m-d H:i:s');   
    	//$model->updated 	= date('Y-m-d');	
    	if ($model->load(Yii::$app->request->post())) {
        	$file = $model->uploadImage();
 
        	if ($model->save()) {
            	if ($file !== false) {
                	if(!is_dir(\Yii::$app->getModule('protocolos')->params['uploadPath'])){
                	mkdir(\Yii::$app->getModule('protocolos')->params['uploadPath'], 0777, true);
                	}
                	$path = $model->getImageFile();
                	$file->saveAs($path);
            	}
            	Yii::$app->session->setFlash("protocolos-success", "Protocolo incluído com sucesso!");
            	return $this->redirect(['index']);
        	} else {
            	// error in saving model
        	}
    	}
    	return $this->render('create', [
        	'model' => $model,
    	]);
	}
Vê se te da uma luz e qualquer dúvida diz ae
Valeu
Olá ton,
Você já trabalhou com algum framework? Para criar um histórico de movimentação, é simples!
Você só precisa salvar qualquer movimentação no banco de dados.
Teria como me dar um exemplo de como fazer Newerton ? É a primeira vez que estou usando um framework.