【问题标题】:How to put condition in Codeigniter 4 model如何在 Codeigniter 4 模型中放置条件
【发布时间】:2020-09-17 17:07:28
【问题描述】:

我在 Codeigniter 4 中有这个模型。

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


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


}

还有这条路线

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');
    }

我想设置条件 WHERE 以便只获得满足条件的 cmets....请帮忙!

【问题讨论】:

    标签: php mysql codeigniter conditional-statements codeigniter-4


    【解决方案1】:

    在活动记录中使用Where 子句来获得你想要的。

    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');
    }
    

    【讨论】:

    • 我不明白
    • @vsol 修改你的函数代码,并尝试执行。
    • 我有这个但没用 class Comments extends Controller { public function comments() { $model = new CommentsModel(); $model = $model->where('com_status','1')->findAll(); $data = [ 'comments' => $model->paginate(50), 'pager' => $model->pager ]; echo view('templates/header'); echo view('templates/aside'); return view('comments', $data); echo view('templates/footer'); } } 错误调用数组上的成员函数 paginate()
    • @hardwood 当需要连接两个表时,其中两列在两个表中具有相同的名称(表'user'和'dept'都具有clumns'id'和'name ')。我认为这是 MySQL 别名的问题,您如何以及在哪里放置别名语句?并希望加入。意味着使用模型类方法,就像在这个线程中 $model = new CommentsModel();方法。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 2011-05-14
    相关资源
    最近更新 更多