繁体   English   中英

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

[英]Kohana - Check if model exists (Not a record)

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

我目前的代码:

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

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

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

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

//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
}
empty(Kohana::find_file('classes', 'model/customer')) ? FALSE : TRUE;

嗯,这个模型是一个类。 如果在PHP中加载了“Model_Mymodal”,则可以使用class_exists()进行检查

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM