если тогда еще для отображения 2 представлений на одну функцию называется - PullRequest
1 голос
/ 09 марта 2012

У меня небольшая проблема с функцией перенаправления, У меня есть функция контроллера с именем "someview", и я также создал файл представления с тем же именем (someview.ctp) Функция контроллера сделает некоторые вещи (запрос данных из модели). это можно просто описать следующим образом

function someview()
{
    $result=$this->User->getdatafrommodel();
    if(null!=$result)
    {
        //do something
    }
    else
    {
        $this->redirect('usernotexist');
    }
}

function usernotexist()
{
    $this->loadSkin();
}

Я также создал страницу с именем usernotexist.ctp, на которой я хотел бы отобразить некоторую информацию о том, когда указанного пользователя не существует в системе базы данных. Тем не менее, моя предыдущая функция (someview) всегда выполняет «if» и «else» после вызова. Если я уберу часть «else» в этой функции, она тогда будет работать правильно для меня; страница с именем "someview.ctp" отображается. Значение $ result, возвращаемое функцией getdatafrommodel, является правильным. Спасибо за любую помощь.

1 Ответ

1 голос
/ 09 марта 2012

1001 * попробовать *

if(!empty($result)){
    //do something
}else{
    $this->redirect(array('action'=>'usernotexist'));
}

надеюсь, это поможет

...