Php 调用未定义的方法CodeIgniter\Database\MySQLi\Connection::like()

Php 调用未定义的方法CodeIgniter\Database\MySQLi\Connection::like(),php,query-builder,codeigniter-4,Php,Query Builder,Codeigniter 4,我的模型中有我喜欢的查询,但它不起作用 型号: 您基本上使用的是Codeigniter 3中的旧查询生成器样式,而不是Codeigniter 4 在CodeIgniter4中,您的代码应该如下所示 <?php namespace App\Models; use CodeIgniter\Model; class SearchModel extends Model { protected $table = 'sport_tbl'; protected $prima

我的模型中有我喜欢的查询,但它不起作用 型号:


您基本上使用的是Codeigniter 3中的旧查询生成器样式,而不是Codeigniter 4

在CodeIgniter4中,您的代码应该如下所示

<?php namespace App\Models;

use CodeIgniter\Model;

class SearchModel extends Model
{
    protected $table      = 'sport_tbl';
    protected $primaryKey = 'id';
    protected $returnType = 'array';
  
    public function search($word)
    {   
        $db = \Config\Database::connect();
        $builder = $db->table('sport_tbl');
        $builder->like('title', $word);
        return $builder->get()->getResultArray();
    }
}

不能直接对数据库使用查询。您需要使用查询生成器。请参阅以下链接:
<?php namespace App\Controllers\api;
use App\Controllers\BaseController;
use App\Models\SearchModel;

class Search extends BaseController
{
    public function index()
    {
        $searchModel = new SearchModel(); 
     
        $data['allnews'] = $searchModel->search('test');

        return view('welcome_message', $data);
    }
}
<?php namespace App\Models;

use CodeIgniter\Model;

class SearchModel extends Model
{
    protected $table      = 'sport_tbl';
    protected $primaryKey = 'id';
    protected $returnType = 'array';
  
    public function search($word)
    {   
        $db = \Config\Database::connect();
        $builder = $db->table('sport_tbl');
        $builder->like('title', $word);
        return $builder->get()->getResultArray();
    }
}
<?php namespace App\Models;

use CodeIgniter\Model;

class SearchModel extends Model
{
    protected $table      = 'sport_tbl';
    protected $primaryKey = 'id';
    protected $returnType = 'array';
  
    public function search($word)
    {   
        $this->like('title', $word);
        return $builder->get()->getResultArray();
    }
}
<?php namespace App\Controllers\api;
use App\Controllers\BaseController;
use App\Models\SearchModel;

class Search extends BaseController
{
    public function index()
    {
        $searchModel = new SearchModel(); 
     
        $data['allnews'] = $searchModel->search('test')->getAll();

        return view('welcome_message', $data);
    }
}