6 回答
TA贡献1821条经验 获得超6个赞
<?php
namespace App\Models\Admin\User_management;
use CodeIgniter\Model;
class UsuariosModel extends Model
{
protected $table = 'users';
protected $primaryKey = 'user_id';
protected $returnType = 'array';
protected $allowedFields = ['user_login', 'user_psw', 'user_full_name', 'user_email', 'user_telef', 'user_image', 'user_date_of_birth', 'user_gender', "user_created_at", "user_updated_at", "user_deleted_at"];
protected $useTimestamps = true;
protected $useSoftDeletes = true;
protected $createdField = 'user_created_at';
protected $updatedField = 'user_updated_at';
protected $deletedField = 'user_deleted_at';
public function __construct(){
parent::__construct();
$db = \Config\Database::connect();
$this->builder = $db->table('NAME OF THE TABLE');
}
TA贡献1798条经验 获得超7个赞
Codeigniter 4 在模型上预定义了变量,但其中很少有只需要true或fals,您只需要小心使用它们即可:
这些是以下定义的变量,其protected范围为model:
protected $table = '';
protected $primaryKey = 'id';
protected $useAutoIncrement = true;
protected $returnType = 'array';
protected $useSoftDeletes = true;
protected $allowedFields = [];
protected $useTimestamps = false;
protected $createdField = 'created_at';
protected $updatedField = 'updated_at';
protected $deletedField = 'deleted_at';
protected $validationRules = [];
protected $validationMessages = [];
protected $skipValidation = false;
试试这个:
change $useSoftDeletes value from `true` to `false`
并运行,如果它解决了您的问题,则无需执行任何其他操作。如果这不能帮助解决问题,则注释这些所有变量,仅取消注释,$table然后$allowedFields刷新页面(如果它解决了问题),然后一一检查其余boolean情况true,或者false可能是其中一个真正的问题。就我而言,我遇到了这个问题。
Note: 另请记住一件事,如果您使用构造函数方法controller或model然后必须调用parent::__construct();其他方法,则会出现此错误:
> TypeError
> CodeIgniter\Database\BaseResult::getResult(): Argument #1 ($type) must be of type string, null given, called in
TA贡献1805条经验 获得超9个赞
谢谢大家,我发现了这个问题,在我的模型中我正在使用构造函数, public function __construct(){ $this->DB = \Config\Database::connect(); $this->BUILDER = $this->DB->table($this->table); }
我删除了它,现在 find 和 findAll 正在工作
TA贡献1810条经验 获得超5个赞
使用了以下方法
public function __construct()
{
parent::__construct();
//other constructor code here
}
我希望这对其他人有帮助。
TA贡献1719条经验 获得超6个赞
最有可能是由于模型文件或控制器文件中的构造函数存在问题。只要检查一下即可。使用下面的代码。不要在模型文件中使用任何构造函数。
模型视图
class UsuariosModel extends Model
{
protected $table = 'users';
protected $primaryKey = 'user_id';
protected $returnType = 'array';
protected $allowedFields = ['user_login', 'user_psw', 'user_full_name', 'user_email', 'user_telef', 'user_image', 'user_date_of_birth', 'user_gender', "user_created_at", "user_updated_at", "user_deleted_at"];
protected $useTimestamps = true;
protected $useSoftDeletes = true;
protected $createdField = 'user_created_at';
protected $updatedField = 'user_updated_at';
protected $deletedField = 'user_deleted_at';
}
在控制器中
use App\Models\UsuariosModel;
$myObject = new UsuariosModel()
$query = $myObject->findAll();
echo '<pre>';
print_r($query);
exit;
- 6 回答
- 0 关注
- 175 浏览
添加回答
举报