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