Trying to get Property of non-object error using codelgniter

Asked

Viewed 64 times

0

I am trying to access in the view the value of a variable called $noticia that is in the controller, however appears the error Trying to get Property of non-object.

Controller file:

public function excluir(){
    //verifica se o usuario esta logado
    verifica_login(); //helper/funcoes

    //pega o terceiro parametro via url
    $id = $this->uri->segment(3);
    if($id > 0):
        //id informado, continuar com a exclusão
        if($noticia = $this->noticia->get_single($id)): /******************/
            $dados['noticia'] = $noticia;
        else:
            //se a noticia não existir no bd
            set_msg('<p>Noticia inexistente! Escolha uma noticia para excluir </p>');
            redirect('noticia/listar', 'refresh');
        endif;
    else:
        set_msg('<p>Você deve escolher uma noticia para excluir! </p>');
        redirect('noticia/listar', 'refresh');
    endif;

    //Regras de validação
    $this->form_validation->set_rules('enviar','ENVIAR', 'trim|required');

    //Verifica a validação
    if($this->form_validation->run() == FALSE):
        if(validation_errors()):
            set_msg(validation_errors());
        endif;
    else:
        $imagem = 'upload/'.$noticia->imagem;
        if($this->noticia->excluir($id)): //Se alguma noticia foi excluida
            unlink($imagem); //Exclui a imagem
            set_msg('<p>Mensagem excluida com sucesso </p>');
            redirect('noticia/listar', 'refresh');
        else:
            set_msg('<p> ERRO! nenhuma noticia foi excluida</p>');
        endif;
    endif;

    //carrega view
    $dados['titulo'] = 'Codelgniter - Exclusão de noticia';
    $dados['h2'] = 'Excluindo de noticias';
    $dados['tela'] = 'excluir';
    $this->load->view('painel/noticia', $dados);

View archive:

case 'excluir':
                    echo form_open_multipart();

                    echo form_label('Titulo', 'titulo');
                    echo form_input('titulo', set_value('titulo', to_html($noticia->titulo)));  

                    echo form_label('Conteúdo', 'conteudo'); //helper to_html
                    echo form_textarea('conteudo', to_html(set_value('conteudo')), array('class' => 'editorhtml'));

                    //Miniatura da imagem
                    echo '<p> <small> Imagem: </small> </br> <img src="'.base_url('upload/'.$noticia->imagem).'" class="thumb-edicao"/> </p>';


                    echo form_submit('enviar', 'Excluir noticia', array('class' => 'botao'));
                    echo form_close();
                    break;
            endswitch;

It appears that the view line below is with the error informed.

echo form_input('titulo', set_value('titulo', to_html($noticia->titulo)));

I’m using the codelgniter

1 answer

0

Your object is inside an array item, in which case you can call it directly by the key.

do so

echo form_input('titulo', set_value('titulo', to_html($noticia[0]->titulo)));

Browser other questions tagged

You are not signed in. Login or sign up in order to post.