我想检查,如果Kohana的模型存在 - 或不存在!我使用ORM加载模型。
我目前的代码:
// Load model
$myModel = ORM::factory('mymodel')->where('id', '=', 1);
在这种情况下,ORM尝试加载模型 - 但我很确定,该模型不存在,因为到目前为止我还没有创建它。但这没关系。而不是尝试加载第一条记录,我必须检查,如果模型存在 - 可能与另一个ORM函数?
我知道,您可以使用ORM::factory('mymodel')->where('id', '=', 1)->loaded()
来检查单个记录/结果。当我尝试获取第一条记录时,我的kohana会抛出异常,确实......
如果模型存在,你们如何检查?
答案 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
}