我在fuelphp中创建了一个orl模块,但它一直向我抛出致命错误! ErrorException [致命错误]:当我尝试使用它时
模块:
class Model_Categories extends \Orm\Model
{
protected static $_connection = 'production';
protected static $_table_name = 'categories';
protected static $_primary_key = array('id');
protected static $_properties = array(
'id',
'name' => array(
'data_type' => 'varchar',
'label' => 'category name',
'form' => array(
'type' =>'text'
),
),
'image_location' => array(
'data_type' =>'text',
'label' =>'category image locartion',
'form' =>array(
'type'=>'text'
),
),
'timestamp' => array(
'data_type' =>'timestamp',
'label' =>'category image location',
'form' =>array(
'type'=>'timestamp'
),
),
);
}
当我尝试运行时,
$model = Model_Categories::find('all');
它向我显示 致命错误! ErrorException [致命错误]: 在继承 ArrayAccess 期间:未捕获的 Fuel\Core\PhpErrorException:Orm\Model::offsetExists($offset) 的返回类型应与 ArrayAccess::offsetExists(mixed $offset): bool 或 #[\ReturnTypeWillChange] 属性兼容应该用来暂时抑制通知C:\xampp\htdocs\qouter\fuel\packages\orm\classes\model.php:2536 堆栈跟踪: #0 C:\xampp\htdocs\qouter\fuel\core\bootstrap.php(112): Fuel\Core \Errorhandler::error_handler(8192, '...的返回类型', 'C:\xampp\htdocs...', 2536) #1 C:\xampp\htdocs\qouter\fuel\packages\orm\classes\model.php(25): {closure}(8192, '返回类型...', 'C:\xampp\htdocs.. .', 2536) #2 C:\xampp\htdocs\qouter\fuel\core\classes\autoloader.php(365): include('C:\xampp\htdocs...') #3 C:\xampp\htdocs\qouter\fuel\core\classes\autoloader.php(236): Fuel\Core\Autoloader::init_class('Orm\模型', 'C:\xampp\htdocs...') #4 C:\xampp\htdocs\qouter\fuel\app\classes\model\categories.php(2): Fuel\Core\Autoloader::load('Orm\Model') #5 C:\xampp\htdocs\qouter\fuel\core\classes\autoloader.php(365): include('C:\xampp\htdocs.. .') #6 C:\xampp\htdocs\qouter\fuel\core\classes\autoloader.php(283): Fuel\Core\Autoloader::init_class('Model_Categorie...', 'C:\xampp\htdocs...') #7 C:\xampp\htdocs\qouter\fuel\app\classes\controller\qoute.php (16): Fuel\Core\Autoloader::load('Model_Categorie...') #8 【内部函数】: Controller_Qoute->action_categories() #9 C:\xampp\htdocs\qouter\fuel\core\classes\request.php(483): ReflectionMethod->invokeArgs(Object(Controller_Qoute), Array) #10 C:\xampp\htdocs\qouter\public\ index.php(133): Fuel\Core\Request->execute() #11 C:\xampp\htdocs\qouter\public\index.php(172): {closure}() #12 {main}
PKGPATH//orm/classes/model.php @ line 25
有人知道如何解决这个问题吗?
the module:
class Model_Categories extends \Orm\Model
{
protected static $_connection = 'production';
protected static $_table_name = 'categories';
protected static $_primary_key = array('id');
protected static $_properties = array(
'id',
'name' => array(
'data_type' => 'varchar',
'label' => 'category name',
'form' => array(
'type' =>'text'
),
),
'image_location' => array(
'data_type' =>'text',
'label' =>'category image locartion',
'form' =>array(
'type'=>'text'
),
),
'timestamp' => array(
'data_type' =>'timestamp',
'label' =>'category image location',
'form' =>array(
'type'=>'timestamp'
),
),
);
}
and when i try to run
$model = Model_Categories::find('all');
it shows me
Fatal Error!
ErrorException [ Fatal Error ]:
During inheritance of ArrayAccess: Uncaught Fuel\Core\PhpErrorException: Return type of Orm\Model::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\xampp\htdocs\qouter\fuel\packages\orm\classes\model.php:2536 Stack trace: #0 C:\xampp\htdocs\qouter\fuel\core\bootstrap.php(112): Fuel\Core\Errorhandler::error_handler(8192, 'Return type of ...', 'C:\xampp\htdocs...', 2536) #1 C:\xampp\htdocs\qouter\fuel\packages\orm\classes\model.php(25): {closure}(8192, 'Return type of ...', 'C:\xampp\htdocs...', 2536) #2 C:\xampp\htdocs\qouter\fuel\core\classes\autoloader.php(365): include('C:\xampp\htdocs...') #3 C:\xampp\htdocs\qouter\fuel\core\classes\autoloader.php(236): Fuel\Core\Autoloader::init_class('Orm\Model', 'C:\xampp\htdocs...') #4 C:\xampp\htdocs\qouter\fuel\app\classes\model\categories.php(2): Fuel\Core\Autoloader::load('Orm\Model') #5 C:\xampp\htdocs\qouter\fuel\core\classes\autoloader.php(365): include('C:\xampp\htdocs...') #6 C:\xampp\htdocs\qouter\fuel\core\classes\autoloader.php(283): Fuel\Core\Autoloader::init_class('Model_Categorie...', 'C:\xampp\htdocs...') #7 C:\xampp\htdocs\qouter\fuel\app\classes\controller\qoute.php(16): Fuel\Core\Autoloader::load('Model_Categorie...') #8 [internal function]: Controller_Qoute->action_categories() #9 C:\xampp\htdocs\qouter\fuel\core\classes\request.php(483): ReflectionMethod->invokeArgs(Object(Controller_Qoute), Array) #10 C:\xampp\htdocs\qouter\public\index.php(133): Fuel\Core\Request->execute() #11 C:\xampp\htdocs\qouter\public\index.php(172): {closure}() #12 {main}
PKGPATH//orm/classes/model.php @ line 25
anyone knows how to fix this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您使用的是 PHP 8.1 和 FuelPHP 版本不兼容。
切换到1.9/dev分支,大部分是PHP 8.1。弃用问题已在那里得到解决。
You are using PHP 8.1 and a version of FuelPHP that is not compatible.
Switch to the 1.9/dev branch, most of the PHP 8.1. deprecation issues have been solved there.