PhalconPHP是PHP的开源,完整堆栈框架。功能在可以使用的PHP类中公开。作为C扩展编写,它针对极高性能进行了优化,是PHP开发人员可用的最快框架。
PHALCON4.2至5.4迁移 - html在表单标签中逃脱问题
在我的公司时,我们在使用PHP 7.4时将Phalcon从4.2版迁移到5.4。我们面临着一个形式初始化的问题,特别是逃脱的HTML内部标签。 我们定义...
使用Phalcon PHP框架实施CRON作业的正确方法是什么? 我一直在尝试sid \ phalcon \ cron库 一遍又一遍地阅读文档,我无法弄清楚如何处理...
“Phalcon\Http\Message\ResponseFactory”生成的源类“\Phalcon\Http\Message\Response”不存在
我已在 Magento 2.4.7-p3 安装上安装了 Akeneo Connector(版本:104.3.17)。但是,当我尝试运行 Akeneo import 命令时,遇到以下错误: [2025-01-23T06...
我有三个具有这些关系的模型: 允许 : 公共函数初始化() { $this->setSchema("ngd_demat"); $this->setSource("p_permission"); $这个->
我有一个项目在 phalcon 5.3.0 上运行。但是在使用 php 8.2 升级到 phalcon 5.3.1 后,我遇到了一些错误。并且无法修复它。我没有做任何改变,但发生了错误。我也没有得到任何
我最近开始使用 Phalcon PHP 框架,有件事让我很困惑。 如何设置 $di 在同一主机上使用多个数据库?例如如何使这个查询工作 东南...
Phalcon 保存功能会询问必填字段,即使它可以从帖子中获得。以前使用标签,一切正常,并且能够完成完整的 CRUD 功能。现在我想要
我在渲染嵌套视图时遇到问题,这就是我想要做的 我将您的 HMVC(HMVC-GitHub 或/和 HMVC-Pattern)函数的“请求”更改为 Elements 模块 命名空间 Modules\Main\Libr...
如何在单元测试中使用reflectionClass测试控制器的受保护方法?
环境 Windows10 菲尔康 3.2.4 适用于 Windows 18.03.1-ce-win65 的 Docker phpunit 5.7.27 问题 我想使用 ReflectionClass 和 phpunit 来测试我的控制器的私有属性,但我没有...
无法添加Phalcon邮件程序并在项目中使用它。按照说明进行操作。我有链接到 'libraryDir' => APP_PATH 的配置。 '/app/lib/',在 lib 文件夹中我有一个 Mailer 文件夹...
为什么在 Phalcon 中使用 viewSimple 渲染器会破坏主渲染器
首先我声明简单的视图,如下所示: $di->set('viewSimple', function() { $view = new \Phalcon\Mvc\View\Simple(); $view->setViewsDir('../app/views/'); $view->registerEngines(...
我正在尝试执行一个查询,在 IN 语句中保留 id 的顺序。我似乎无法使用模型管理查询生成器或标准 ORM 'order' 数组参数来做到这一点。我是吗
所以我有一个现有的数组,我想通过它运行一个 for 循环并重新创建新数组。我想弄清楚如何直接在伏特上创建自己的数组。这是我的代码: {% 已设置
每当我从同一个查询中的多个表中进行选择时(使用 phql、构建器或条件),结果始终是 \Phalcon\Mvc\Model\Resultset\Complex 的实例,这有点......复杂t...
是否可以与2个表建立多对多关系? 可以说我有以下结构: 是否可以与2个表建立多对多关系? 可以说我有以下结构: <?php use Phalcon\Mvc\Model; /** entity -id -name -sub_group_id */ class Entity extends Model { public $id; public $name; public $sub_group_id; public function initialize() { $this->belongsTo('sub_group_id', 'SubGroup', 'id', ['alias' => 'subgroup']); } } /** sub_group -id -name -group_id */ class SubGroup extends Model { public $id; public $name; public $group_id; public function initialize() { $this->belongsTo('group_id', 'Group', 'id', ['alias' => 'group']); $this->hasMany('id', 'Entity', 'sub_group_id', ['alias' => 'entities']); } } /** group -id -name */ class Group extends Model { public $id; public $name; public function initialize() { $this->hasMany('id', 'SubGroup', 'group_id', ['alias' => 'subgroups']); } } 因此 Group 将与 SubGroup 具有“hasMany”关系。 子组将与实体具有“hasMany”关系。 要从我使用的组中获取实体: <?php $entities = []; $group = Group::findFirst(); foreach ($group->subgroups as $subgroup){ $entities = array_merge($entities, $subgroup->entities->toArray()); } 我应该改变成什么关系,比如说 子组将与实体具有“hasManyXXX”关系。 得到以下结果: <?php $entities = $group->subgroups->entities->toArray(); 这有可能吗? 有办法做到这一点! class Group extends Model { public $id; public $name; public function initialize() { $this->hasManyToMany( 'id', 'SubGroup', 'group_id', 'id', 'Entity', 'sub_group_id', [ 'alias' => 'entities' ] ); } } 将为您提供一个使用选项: $entities = $group->entities; 致谢phalcon 论坛 我认为你不能这样做,所以我建议你在 group 模型中添加自定义方法,如下所示: class Group extends Model { public $id; public $name; public function initialize() { $this->hasMany('id', 'SubGroup', 'group_id', ['alias' => 'subgroups']); } public function getEntities() { $entities = []; foreach ($this->getSubgroups() as $subgroup){ $entities = array_merge($entities, $subgroup->entities->toArray()); } return $entities; } } 然后使用此代码来获取您的实体: $group = Group::findFirst(); $entities = $group->getEntities(); 您需要一个中间表。我们的应用程序示例: @HasManyToMany( 'id', '\Core\Models\UserCarAssociation', '用户ID','汽车ID', '\模型\汽车', 'id', [别名='汽车'] ) 这通过中间表 UserCarAssociation 将用户连接到汽车,并告知此 UserCarAssociation 表中的外键是 userId 和 carId。 请参阅此处有关注释的一些介绍,我发现它比使用初始化方法注册关系更清晰:https://blog.phalconphp.com/6
是否可以在cli应用程序中使用phalcon来处理带有argv参数的请求? 我想使用 argv 参数来理解应该执行的命令,例如 ./script.php 机器人/创建...
在我的 Phalcon 项目中,我试图根据一些数据更改行的颜色。我将不胜感激任何帮助。这就是我正在处理的事情。在我的控制器中: 私有函数 dataTablesAjax($reques...
我在 Phalcon 的 volt 文件中使用 jquery。我想在选择表单时获取选择表单的值。当我尝试在像这样的简单 html 选择表单上执行此操作时: 我在 Phalcon 的 volt 文件中使用 jquery。我想在选择表单时获取选择表单的值。当我尝试在像这样的简单 html 选择表单上执行此操作时: <select id="dropdown1"> <option value="Option-1">Option-1</option> <option value="Option-2">Option-2</option> <option value="Option-3">Option-3</option> </select> 然后尝试使用 jquery 检测更改: $('#dropdown1').on('change', function () { console.log(123); }); 它工作得很好,但是当我尝试使用我的实际 Phalcon 选择表单来执行此操作时,它不起作用,我没有收到任何错误或任何错误,它只是不读取事件更改。 这是我在 volt 文件中渲染的表单。 {{ form.render("storageDeviceCode[]", ["class": "form-control select2","id": "storageDeviceCode"]) }} 这是我的 php 文件中的表单: $storageDeviceCode = StorageDevicesCode::find([ 'columns' => 'id, name' ]); $storageDeviceCode = new Select('storageDeviceCode[]', $storageDeviceCode, [ 'useEmpty' => true, 'emptyText' => ' - choose ID', 'using' => ['id', 'name'], ]); $this->add($storageDeviceCode); 这就是我尝试解读变化的方式: $('#storageDeviceCode').on('change', function () { console.log(123); }); 提前非常感谢! 嗯...我认为问题出在这里: ["class": "form-control select2","id": "storageDeviceCode"] 替换为: ["class" => "form-control select2", "id" => "storageDeviceCode"] 更多详情请看这里