Kohana - 检查模型是否存在(不是记录)

时间:2015-02-25 08:02:27

标签: php orm model kohana

我想检查,如果Kohana的模型存在 - 或不存在!我使用ORM加载模型。

我目前的代码:

// Load model
$myModel = ORM::factory('mymodel')->where('id', '=', 1);

在这种情况下,ORM尝试加载模型 - 但我很确定,该模型不存在,因为到目前为止我还没有创建它。但这没关系。而不是尝试加载第一条记录,我必须检查,如果模型存在 - 可能与另一个ORM函数?

我知道,您可以使用ORM::factory('mymodel')->where('id', '=', 1)->loaded()来检查单个记录/结果。当我尝试获取第一条记录时,我的kohana会抛出异常,确实......

如果模型存在,你们如何检查?

3 个答案:

答案 0 :(得分:1)

//loading model
$myModel = ORM::factory('mymodel')->where('id', '=', 1)->find();

我认为你在链中错过了find方法。

然后你可以检查模型是否按照你想要的方式加载

//checking if loaded
if ($myModel->loaded()) {

修改

确定模型是否存在

try {
   //loading model
   $myModel = ORM::factory('mymodel')->where('id', '=', 1);
   //more logic
} catch ($e) { //or you can define exception which throws ORM::factory
   //doesn't exist
}

答案 1 :(得分:1)

empty(Kohana::find_file('classes', 'model/customer')) ? FALSE : TRUE;

答案 2 :(得分:1)

嗯,模特是一个班级。如果在PHP中加载了“Model_Mymodal”,您可以查看class_exists()

if(class_exists("Model_Mymodel"))
{
    // Do something
}