Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 科哈纳ORM误差_Php_Kohana - Fatal编程技术网

Php 科哈纳ORM误差

Php 科哈纳ORM误差,php,kohana,Php,Kohana,我有一个名为“packs”的db表(pack\u id、pack\u name、pack\u description、pack\u image) My packs.php模型: <?php defined('SYSPATH') or die('No direct script access.'); class Model_Packs extends ORM { } 您的模型应该用单数名词命名,即使您的表名是复数。这两条规则是规则的一部分 p/s:该链接指向Kohana

我有一个名为“packs”的db表(pack\u id、pack\u name、pack\u description、pack\u image)

My packs.php模型:

<?php defined('SYSPATH') or die('No direct script access.');

    class Model_Packs extends ORM {

    }

您的模型应该用单数名词命名,即使您的表名是复数。这两条规则是规则的一部分


p/s:该链接指向Kohana 2.x的约定,但经过一些修改后,它们仍然适用于3.x。

您的模型应使用单数名词
model\u Pack
命名,即使您的表名是复数。这两条规则是规则的一部分


p/s:该链接指向Kohana 2.x的约定,但经过一些修改后,它们仍然适用于3.x。

Kohana似乎在试图“聪明”并根据类名猜测表名。
如果您将模型重命名为
model\u-Pack
,它应该可以做到这一点。另一个解决方案是给出您的模型。

看来kohana正试图变得“聪明”,并根据类名猜测表名。
如果您将模型重命名为
model\u-Pack
,它应该可以做到这一点。另一个解决方案是给出您的模型。

也有这个问题,我找到的解决方案之一是将set\u table\u names\u复数变量限制为false。大概是这样的:

class Model_Admin_Users extends ORM 
  {
  public function __construct()
    {
    $this->_table_names_plural = false;
    parent::__construct();
    }
  } 

也有这个问题,我发现的解决方案之一是将set _table _names _复数变量限制为false。大概是这样的:

class Model_Admin_Users extends ORM 
  {
  public function __construct()
    {
    $this->_table_names_plural = false;
    parent::__construct();
    }
  } 

是的,您是对的,另一个更简单的解决方案是重写table_name属性。受保护的$\u tablename=“无论您想要什么”;是的,您是对的,另一个更简单的解决方案是重写table_name属性。受保护的$\u tablename=“无论您想要什么”;