Searching for existence of record before including a new one (Yii 2)

0

Hello Everyone!

In the create.php of a view (ANOLETIVO), I search if there is a record in the table with status = 1. If it exists, the new inclusion should not be allowed.

I already did this on Yii 1 but I'm "catching" on Yii 2 .

See how I've implemented the create.php script:

<?php
use yii\helpers\Html;

/* @var $this yii\web\View */
/* @var $model app\models\ANOLETIVO */
?>

<?php
$this->title = 'Iniciar Ano do Assessoramento';
$this->params['breadcrumbs'][] = ['label' => 'Anoletivos', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
?>

<div class="anoletivo-create">

    <h1><?= Html::encode($this->title) ?></h1>
    <?php
    /*
     * As linhas a seguir foram implementadas para NÃO PERMITIR iniciar ano novo, sem encerrar antes ano já iniciado.
     */
    $registros=$this->findAll(['condition'=>'ANO_LETIVO_STATUS = 1']);
    	if (count($registros)>0){
    ?>
        	<b>Atenção!</b> Existe Ano de Assessoramento não encerrado!<br><br>
        	<?php 
        		$link = CController::createUrl('anoletivo/index');		
        		echo CHtml::linkButton(CHtml::Button('Voltar',['class'=>'btn btn-alert']),['href'=>$link]); 
        	?>
    <?php 
    	}else{
    		echo $this->renderPartial('_form', ['model'=>$model]);
    	}
    ?>

</div>

Here's the error message when I try to access the add-in functionality for a new school year:

Thanks for any help!

    
asked by anonymous 20.02.2018 / 21:10

1 answer

1

Try this way

<?php
use yii\helpers\Html;
use app\models\ANOLETIVO;
/* @var $this yii\web\View */
/* @var $model app\models\ANOLETIVO */
?>

<?php
$this->title = 'Iniciar Ano do Assessoramento';
$this->params['breadcrumbs'][] = ['label' => 'Anoletivos', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
?>

<div class="anoletivo-create">

    <h1><?= Html::encode($this->title) ?></h1>
    <?php
    /*
     * As linhas a seguir foram implementadas para NÃO PERMITIR iniciar ano novo, sem encerrar antes ano já iniciado.
     */
    $registros= ANOLETIVO::findAll(['condition'=>'ANO_LETIVO_STATUS = 1']);
    	if (count($registros)>0){
    ?>
        	<b>Atenção!</b> Existe Ano de Assessoramento não encerrado!<br><br>
        	<?php 
        		$link = Url::toRoute('anoletivo/index');		
        		echo Html::a('Voltar',['class'=>'btn btn-alert']),['href'=>$link]); 
        	?>
    <?php 
    	}else{
    		echo $this->renderPartial('_form', ['model'=>$model]);
    	}
    ?>

</div>
    
16.03.2018 / 15:48