我有一个充满静态函数的类,我在Model /目录中调用了UtilityFunctions。但即使"使用"该类也无法访问TableRegistry :: Get。声明到位。下面是代码和错误。
namespace App\Model\Table;
use Cake\ORM\TableRegistry;
use App\Model\Entity\Device;
class UtilityFunctions {
public static function getDevice($deviceInfo) {
$devicesTable = TableRegistry::get('Devices'); // TableRegistry not found
$query = $devicesTable->findByDeviceInfo($deviceInfo);
...
}
}
" Class \ u0027UtilityFunctions \ TableRegistry \ u0027 not found", " /var/www/myserver/src/Model/Custom/UtilityFunctions.php",115
答案 0 :(得分:8)
我知道这可能是一个非常晚的回复,但是如果您没有在代码顶部插入use Cake\ORM\TableRegistry;
,则可能会出现问题。
我有同样的问题。我添加了那行代码并且工作正常
答案 1 :(得分:0)
这取决于行的顺序。如果首先放置namespace
,除非您在use
语句中指定\ \,否则PHP将在给定的命名空间中查找。例如
namespace App\Model\Table;
use Cake\ORM\TableRegistry;
将查找App \ Model \ Table \ Cake \ ORM \ TableRegistry,这显然是不正确的。
但这会起作用:
use Cake\ORM\TableRegistry;
namespace App\Model\Table;
或
namespace App\Model\Table;
use \Cake\ORM\TableRegistry;