Search code examples
phpmysqlcodeigniterconditional-statementscodeigniter-4

How to put condition in Codeigniter 4 model


I have this model in Codeigniter 4.

class CommentsModel extends Model
{
    protected $table = 'comments';


    protected $allowedFields = ['com_user', 'com_email', 'com_phone', 'comment'];


}

and this route

public function comments()
    {    
        $model = new CommentsModel();

        $data = [
            'comments' => $model->paginate(50),
            'pager' => $model->pager
        ];



        echo view('templates/header');
        echo view('templates/aside');
        return view('comments', $data);
        echo view('templates/footer');
    }

I want to put condition WHERE so that this will get only comments that meet with the condition....Please help!


Solution

  • Use Where clause in active records to get what you want.

    public function comments()
    {    
        $model = new CommentsModel();
        $model = $model->where('com_user','john');
        $data = [
            'comments' => $model->paginate(50),
            'pager' => $model->pager
        ];
    
    
    
        echo view('templates/header');
        echo view('templates/aside');
        return view('comments', $data);
        echo view('templates/footer');
    }